Parameter einlesen

Kaiser206

Erfahrenes Mitglied
Hallo,
Ich will ein Programm in Visual C++ machen das mit mehreren Parametern gestartet wird weiß aber nicht wie man sie einliest. kann mir da jemand helfen?
 
Hi.

Du mußt einfach deine main Funktion folgendermaßen deklarieren:
Code:
int main( int argc, char* argv[])

Wobei argc angibt wieviel Parameter auf der Kommandozeile an dein Programm übergeben wurden (allerdings ist der erste Parameter der Name des Programmes selbst) und argv ist ein C-String Array in dem die einzelnen Parameter dann drin sind.

Beispiel: Du startest dein Programm folgendermaßen: "prog.exe 1 34 555 hallo"

Dann ist argc in diesem Beispiel 5. Das Array argv hat den Wert
Code:
{ 
"prog.exe",
"1", 
"34",
"555",
"hallo" }
und man kann auf die einzelnen Elemente (von 0 bis 4) ganz normal zugreifen.

Code:
#include <iostream>

int main (int argc, char* argv[]) {
  for (int i = 0; i < argc; ++i) {
    std::cout << "Argument Nr. " << i << " = " << argv[i] << std::endl;
  }
}

Gruß
 
Ich habe da herumexperementiert und etwas gemerkt:

#include <windows.h>

int WINAPI WinMain(HINSTANCE d1, HINSTANCE d2, LPSTR d3, int d4)
{
MessageBox(NULL, "Hello, World!", "", MB_OK);
}

wie kann man in dieses Programm eine Parameterabfrage einbauen?
 
Kaiser206 hat gesagt.:
Ich habe da herumexperementiert und etwas gemerkt:

#include <windows.h>

int WINAPI WinMain(HINSTANCE d1, HINSTANCE d2, LPSTR d3, int d4)
{
MessageBox(NULL, "Hello, World!", "", MB_OK);
}

wie kann man in dieses Programm eine Parameterabfrage einbauen?
Würdest du richtige Variablennamen verwenden, hättest du bestimmt gemerkt, dass der dritte Parameter von WinMain die komplette Befehlszeile enthält.
 
Zurück