An net user einen string übergeben
-
funktioniert mit ner char
den string hallo verwendest du nicht nicht
wenn du hallo nicht initialisierst wirst du zum selben
ergebnis kommenchar cmd[]="net user hallo"; system(cmd);für einen dynamischen benutzer ist dies einfacher
string cmd="net user"; string user="hallo"; cmd = cmd+" "+user; system(cmd.c_str());
-
Dieses Programm soll das Passwort eines users ändern, das ist vielleicht gut zu wissen. vielleicht funktioniert es aber ich bin zur zeit an einem schüler pc...
-
Ich habe folgendes eingegeben:
#include <iostream>
#include <string>
using namespace std;int main() {
string cmd="net user";
string user="Schueler";
cmd = cmd+" "+user;
system(cmd.c_str());
system("pause");
}Es kommt jedoch nur die Meldung , dass der Benutzername nich gefunden werden konnte.
Die Idee dieses Programmes ist , dass man den benutzername eingibt, und das Passwort dann geändert werden soll.
-
das der benutzer nicht gefunden wird
liegt wohl daran dass du keinen benutzer
namens schueler hastzwei stunden in ein anfänger buch und
du schaffst den rest alleine
außer ein und ausgabe hast du alles um
es dir selber zu schreiben
ps als schüler wirst du adminrechte brauchen....
-
Ich habe als schueler Adminrechte (siehe control userpasswords2)
Ich verstehe das prinzip , funktioniert bloß noch net ganz , muss wohl
tüftelnIch habe als anfänger bücher :Spielend c++ lernen und
Einstieg in C++(Arnold Willemer)Aber Danke für eure hilfe, jetzt kenne ich zumindest das prinzip.
-
Anscheinend reicht es dann doch nicht zu wissen wie es teoretisch funktioniert, denn der Compiler gibt mir immer noch einen fehler aus...
#include <cstdlib> #include <iostream> #include <string> using namespace std; int main(int argc, char *argv[]) { string Befehl,User,Word; Befehl="net user"; cin>>User; Word="Hallo"; Befehl=Befehl+" "+User+" "+Word; system(Befehl); system("PAUSE"); return EXIT_SUCCESS; }Ich habe mir den string Befehl auch mal ausgeben lassen , es ist alles ok.
-
DilBahadur schrieb:
Anscheinend reicht es dann doch nicht zu wissen wie es teoretisch funktioniert, denn der Compiler gibt mir immer noch einen fehler aus...
Das ist ja eine sehr präzise Beschreibung ...
system( Befehl.c_str() );
-
Vielen Dank,
für eure Hilfe, es funktioniert zwar alles , könntet ihr mir aber bitte erklären warum man ".c_str()" hinter den string schreiben muss?
:p
-
systemist noch ein Befehl aus der C-Bibliothek, damals gab es noch keinestd::strings. In einer Referenz kannst du sehen, dasssystemeinenconst char*erwartet, was in C die Art und Weise ist, mit Zeichenketten umzugehen. std::string::c_str() macht dir aus einemstd::stringeinenconst char*mit dem gleichen Inhalt in einem zu C kompatiblen Format.
-
Aha damit hätte sich auch das geklärt,
nochmals vielen dank!