system(); mit Parametern?
-
Kann man bei einem system-Befehl einen Parameter mit rein geben?
wenn ja, wie?
-
da gehört ein char* rein, der das auszuführende kommando angibt.
-
Danke, für den Tipp, jetzt weiss ich, wie man den Rückgabewert verwendet,
was ich aber meinte, wenn man ein Programm per system-befehl startet, wie kann ich diesem Programm einen Parameter übergeben?
-
Das kommt alles in den char* mit rein, guckstdu:
system ("notepad.exe hello_world.txt");
Hier ist hello_world.txt der Parameter für das Programm notepad.exe
-
danke. Wenn der Inhalt der .txt datei eine Zahl ist, muss ich noch atoi verwenden, oder?
-
Nööö, der Datentyp des Parameters der Funktion system ändert sich nicht, der bleibt char*.
Du musst die Zahl in einen char* umwandeln und in den Parameter einbinden, z.B. so:int num = 777; char* prog = "notepad.exe", *ext = ".txt"; char cmd[512]={0}, param[512]={0}; snprintf (param, sizeof(param)-1, "%d%s", num, ext); // 777.txt snprintf ( cmd, sizeof(cmd)-1, "%s %s", prog, param ); // notepad.exe 777.txt system(cmd);
-
machs mit einem sprintf() anleitung gibts in jeder guten docu
lg lolo
-
snprintf() ist natürlich besser, wollte nicht Big Brother wiedersprechen, die posts waren fast gleichzeitig