Parameter für Programmstart übergeben
Sicherlich ist dir schonmal aufgefallen, dass beim starten eines Programms Parameter übergeben werden können. Sowas kann man benutzen, um z.B. in einer Release Version das debuging zu aktivieren um bestimmte Programm Blöcke zu durchlaufen oder sie zu umgehen.
Damit sowas möglich ist, muss die main() Funktion um 2 Parameter erweitert werden.
Datei:
Quelldateien/main.cpp- #include <iostream> // std::cout, std::endl, std::cin
- #include <stdlib.h> // EXIT_SUCCESS
- #include <string.h> // strcmp()
-
- int main(int argc, char *argv[])
- {
- for (int i=0; i < argc; i++)
- {
- // Ausgabe aller Parameter
- std::cout << i << " \"" << argv[i] << "\"" << std::endl;
- // Auf speziellen Parameter prüfen
- if (strcmp(argv[i], "-debug")==0)
- {
- std::cout << "\n\nDebug Modus gesetzt!" << std::endl;
- }
- }
-
- std::cin.get();
- return EXIT_SUCCESS;
- }
Der erste Parameter (argc) gibt an, wieviele Parameter übergeben worden sind, und der zweite (*argv[]) beinhaltet ein Array mit denn Parameter ansich.
Um Parameter beim Aufruf zu setzten, muss z.B. in der Konsole folgendes eingegeben werden:
- programmname -debug "anderer Parameter"
Parameter die ein Leerzeichen beinhalten, müssen in doppelten Anführungszeichen angegeben werden. Das funktioniert unter Windows genauso wie unter Linux!