Übergabeparameter abfragen?
-
Hi Leute!
Ich hab mal wieder 'ne Frage:
Ich schreibe gerade an einem Konsolenprogramm, welches über die Kommandozeile gestartet wird:
C:\Dokumente und Einstellungen\myaccount>programmname -übergabe
Jetzt würde ich gerne auslesen, was als Übergabeparameter übergeben wurde!
Geht das überhaupt mit der normalen ConsoleApplication?Danke und Gruß
-
Ja, das kannst du in der (richtigen) main()-Funktion abfragen:
int main(int argc/*Anzahl der Argumente*/,char** argv/*die einzelnen Argumente (bereits sauber zerlegt)*/) { for(int i=0;i<argc;++i) cout<<argv[i]; }
-
Oder was fertiges: http://www.boost.org/doc/html/program_options.html
-
Hi, erstmal Danke für die schnelle Antwort!
ich benutze das Visual Studio 2005 - C++ ConsoleApplication:
int _tmain(int argc, _TCHAR* argv[]) { for(int y = 0; y < argc; y++) printf("%s\r\n", argv[y]); }
Auf der Konsole gibt er mir aus:
H
-
Der Parameter war:
-Hallo
-
Da hast du offenbar die UNICODE-Version verwendet - und das solltest du auch konsequent durchziehen, indem du
_tprintf(T("&s\n"),argv[y]);
schreibst.
-
Hmm.... funktioniert auch nicht!
Ich versteh es nicht! Es hat bestimmt irgendwas mit dem Charset zu tun!
Aber egal wie ich es drehe und wende, es kommt immr H und - raus!
-
Also ich habe jetzt die Lösung gefunden!
In den Projekt Eigenschaften/Properties
Konfiguration...
General
Character Set: von UNICODE auf Multybyte Char SetNochmal Danke!
Gruß
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Compiler- und IDE-Forum verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
.::DesperateDeveloper::. schrieb:
Hmm.... funktioniert auch nicht!
Ich versteh es nicht! Es hat bestimmt irgendwas mit dem Charset zu tun!Nein. Bei CStoll haben sich nur zwei kleine Fehler eingeschlichen. Die korrekte Zeile muss lauten:
_tprintf(_T("%s\n"),argv[y]);
Dann klappt es auch mit Unicode.
btw:
"funktioniert auch nicht" ist keine ausreichende Fehlerbeschreibung.