exe mit parametern erstellen problem
-
hi,
ich habe ein Problem:
ich öffne die datei ohne irgenteineparameter in der verknüpfungeinzugeben
dann kommthalloaber wenn ich es mit irgenteineparamer öffne kommt
hallo2wie kann ich es machen das wenn man das programm ohne jeden paramter öffnet es zu
hallo2springt und wenn es mit dem parametern 1 öffnet eben zu
hallogeht, aber eben nur dann!
#include <iostream.h> #include <stdlib.h> #include <string.h> #include <windows.h> int main( int argc, char * argv[], char * envp[] ) { if ( argc == 1) { cout << "hallo"; } else { cout << "hallo2"; } Sleep (100000); return 0; }
-
argc gibt die Anzahl der Parameter an, dabei wird der Programmname als erster (nullter) Parameter gezählt. Also versuch's mal mit "if(argc==2)...".
-
danke CStoll
-
#include <iostream> int _tmain(int argc, TCHAR* argv[]) std::cout << (argc > 1) ? _T("hallo2") : _T("hallo1"); cin.get(); return 0; }
-

Mr Evil schrieb:
[...]int _tmain(int[...]Das ist ja grässlich ...
.
-
wieso ? das ist standard unicode console main {o;
-
Mr Evil schrieb:
wieso ? das ist standard unicode console main {o;
Nein. Wenn am Anfang ein Unterstrich steht, ist das schonmal ganz bestimmt NICHT Standard.

int wmain(...);
-
CodeFinder schrieb:
Mr Evil schrieb:
wieso ? das ist standard unicode console main {o;
Nein. Wenn am Anfang ein Unterstrich steht, ist das schonmal ganz bestimmt NICHT Standard.
Das ist zumindest Standard-TCHAR konform und ist auf jeden Fall zu empfehlen!!! Dann kann man sowohl ANSI als auch UNICODE-Build mit ein und dem selber Source erstellen!
Also:int _tmain() { }
-
dann hatte ichs halt falsch in erinnerung - ich erstelle eigentlich immer alles mit _T usw
-
Mr Evil schrieb:
dann hatte ichs halt falsch in erinnerung - ich erstelle eigentlich immer alles mit _T usw
??? Das _T ist nur für Texte da! Alle anderen Macros in "tchar.h" beginnen mit "_t" (z.B. _tcscpy, ...)
Oder was wolltest Du damit sagen?