Command Line
-
Hallo,
wenn ich ein Windows- Programm über die Konsole wie folgt starte,
Blabla.exe -s
wie kann ich dann in meinem Programm das "-s" extrahieren, bzw untersuchen, ob mein Programm mit Parameter gestartet wurde? MFG, und vielen Dank im Vorraus, '][' !
-
Hi!
Das funzt etwa so:
// includes int main(int argc, char *argv[]){ . . . . . }
Jetzt kannst du per argv[1],argv[2], usw. auf die Parameter zugreifen.
argv[0] ist immr der pfad. Wenn du's aber über dioe konsole aufrufst is das immer der name vom Programm.argc gibt die anzahl der parameter an.(is logischer weise >=1)
Hoffe ich konnte helfen!
-
Hi,
habe ja keine main, sonder nur ne WinMain(...)
ich gehe wie gesagt davon aus, dass es sich um ein WindowsProgramm handelt.
-
Die WinMain hat einen Parameter, der da heißt lpCmdLine...
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
Das ist die Kommandozeile, die beim Start übergeben wurde...
-
LPSTR lpCmdLine ist alles was du auf der Kommadozeile tippes ohne das Programm welches du aufrufst
d.h.
wenn du das folgende tippstBlabla.exe -s -itestfile
so steht in lpCmdLine "-s -itestfile"
Im unterschied zu C ist der Programmname nicht mit dabei
Zum Auswerten der KOmmandozeile in einer stabline Weise habe ich in diesen Foren schon eine gute Lösung gesehen