exe mit startparametern!
-
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, char* pszCmdLine, int iCmdShow);Im Parameter 'pszCmdLine' steht das übergebene Argument, also beispielsweise "127.0.0.1"
. Falls Du das Zeichensatz unabhängig schreiben willst, brauchst Du die Funktion GetCommandLine (definiert als A und W Variante), oder Du wandelst den Inhalt von 'pszCmdLine' in einen W-String um (1. ist aber glaube ich empfehlenswerter).
-
bei consolenprogrammen wie 'ping' z.b.
int main (int argc, char **argv) { // in argc steht die anzahl der startparameter +1 // in *argv[1]...*argv[argc-1] die startparameter selber }
-
Wenn man die CRT verwendet, dann gibt es in einem WinMain auch die globalen Variablen __argc und __argv.
-
Dürfte nur für Visual C++ gelten. Wenn man C++Builder verwendet, gibt es die Funktionen ParamStr() und ParamCount().
-
was ist mein fehler?
#include <windows.h> #include <iostream.h> #include <fstream> int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, char* pszCmdLine, int iCmdShow) { if (pszCmdLine =="lol") { FILE *fpl; fpl = fopen ("r.txt","w"); fprintf (fpl,"lol"); fclose(fpl); } else { FILE *fpl; fpl = fopen ("r.txt","w"); fprintf (fpl,"unlol"); fclose(fpl); } Sleep (10000); }
-
Ich weiß, was dein Fehler ist. Aber du sollst lernen, ordentliche Fragen zu stellen. Deshalb sagst du uns jetzt erstmal, was dein Compiler für eine Fehlermeldung ausgibt. Wenn man etwas von anderen will, gehört es nämlich dazu, so verständlich wie möglich zu sein und es den Helfern so leicht wie möglich zu machen.
-
mein compiler gibt garkeine fehlermeldungen! [dev-c++]
Also hier noch mal eine leichtverständliche Frage:
Dieses Programm soll wenn es mit dem parameter lol aufgerufen wird in eine r.txt lol reinschreiben! Leider passiert das nicht!
Was ist der Fehler?
-
helpmeplz schrieb:
was ist mein fehler?
if (pszCmdLine =="lol")Da solltest du nochmal drüber nachdenken (und ggf. mehr über C lernen).
-
hehe gefunde ein
=zuviel, danke für eure hilfe
-
hehe shit das es doch nicht -.-
-
Wie aucadia sagte, solltest du über den Vergleich etwas nachdenken (du gibst zwei char-Pointer an ==, also vergleicht es diese Zeiger miteinander).
~Lösung: C-Strings vergleicht man mit strcmp()~
-
danke ohh du großer und leibenswerter CStoll

hab so gelösstif(!strcmp(pszCmdLine,"lol"))
-
thxCStoll schrieb:
danke ohh du großer und leibenswerter CStoll

hab so gelösstif(!strcmp(pszCmdLine,"lol"))Und weil ich so freundlich und "leibenswert" bin, noch ein Gratistip von mir: kauf dir einen Duden

-
kannst mir ja einen zum geburstag schenken

-
Nö, das hört die "Leibenswertigkeit" doch auf :p
-
Hi.
Wie kann ich denn eigentlich die parameter bei nem windowsfrontend benutzen?
Benutze Borland Builder 6.
Danke schonmal
-
CodeFinder schrieb:
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, char* pszCmdLine, int iCmdShow);Der Thread ist außerdem uralt, da vorne postet ja sogar WebFritzi.
