Du bist hier: Startseite > Entwicklung (C/C++) > C++ Erweitert > Parameter für Programmstart übergeben

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
  1. #include <iostream> // std::cout, std::endl, std::cin
  2. #include <stdlib.h> // EXIT_SUCCESS
  3. #include <string.h> // strcmp()
  4.  
  5. int main(int argc, char *argv[])
  6. {
  7. for (int i=0; i < argc; i++)
  8. {
  9. // Ausgabe aller Parameter
  10. std::cout << i << " \"" << argv[i] << "\"" << std::endl;
  11. // Auf speziellen Parameter prüfen
  12. if (strcmp(argv[i], "-debug")==0)
  13. {
  14. std::cout << "\n\nDebug Modus gesetzt!" << std::endl;
  15. }
  16. }
  17.  
  18. std::cin.get();
  19. return EXIT_SUCCESS;
  20. }

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:

  1. 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!

Kommentare zu diesem Beitrag

Sie müssen angemeldet sein, um eine Nachricht zu erstellen. Anmelden »