befehl mit "sonderausführung"
-
ich hab mal ne frage und zwar wenn man einem befehl in die konsole eingibt und dazu noch (ich wieß nicht wie man so was nennt) z.B -t, was dann den befehl anders ausführen lässt, wie man das am besten macht, dass das programm weiß das da ein -t steht.
gruß gucky
-
Du musst dazu die Programmargumente parsen.
-
ok danke aber ich hab keine ahnung wie das geht

-
Naja... Die Parameter bekommste ja in der "main" übergeben:
int main(int argc, char **argv) { }Wobei argc die Anzahl der Parameter angibt und argv ein Array mit den ganzen Parametern ist (argv[0] ist der Pfad + der Dateiname der Ausführbaren Datei).
Zum (sinnlosen) Beispiel:
#include <iostream> int main(int argc, char **argv) { bool printExtraMessage = false; if (argc > 1) { printExtraMessage = !strcmp(argv[1], "-t"); } std::cout << "programm gestartet\n"; if (printExtraMessage) std::cout << "... mit -t\n\n"; }
-
ah ok danke
jetzt hab ichs verstanden

-
zwei frage noch
wie mache ich das wenn ich verschiedene argumente hintereinander auflisten möchte??
und was bedeutet das !strcmp?
-
Gucky schrieb:
wie mache ich das wenn ich verschiedene argumente hintereinander auflisten möchte??
Sie beide auflisten? Schau dir an, wie
std::coutfunktioniert.Gucky schrieb:
und was bedeutet das !strcmp?
Auf www.cplusplus.com findest du die Dokumentation zu
strcmp(). Was das!bedeutet, weisst du hoffentlich...Aber schau dir unbedingt ein gutes Grundlagenbuch wie den C++-Primer an, dort werden solche Basics erklärt.
-
mich hat das nur etwas verwirrt, dass das ! direkt vor dem strcmp stand