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.
 

Neue Beiträge

Zurück