int argc, char *argv[]
-
hallo
bin ein neuling in c++.
bei vielen c++ codes hier im forum sieht man diese werte: int argc, char *argv[]
die in der int main() übergeben werden...ich hab noch nicht verstanden wozu diese dienen.
kann mir das jemand erklären?
danke euch.
andy
-
-
JA
-
JA
Was soll dein Beitrag? Aber das in deinem Profil steht, dass du HTML programmierst, sagt schon alles...
-
usersource schrieb:
hallo
bin ein neuling in c++.
bei vielen c++ codes hier im forum sieht man diese werte: int argc, char *argv[]
die in der int main() übergeben werden...ich hab noch nicht verstanden wozu diese dienen.
kann mir das jemand erklären?
danke euch.
andy
Hallo,
das ist nicht so schwer, es zu erklären:
Wenn man ein Programm aus einer Eingabeaufforderung heraus startet, dann kann man dem Programm Parameter übergeben. Die Anzahl der Parameter steht in argc und die Werte stehen in argv.
-
Was soll dein Beitrag? Aber das in deinem Profil steht, dass du HTML programmierst, sagt schon alles...
mein profil ist schon alt sehr alt
da hab ich erst angefangen c++/c programmieren
unter windowsjetzt programmiere ich schon fast 2 jahre c/c++
nur unter linux(Debian)B2T:
so hab ich dass gemacht#include<iostream> int main (int argc, char** argv ){ if(argv[1][0]=='-'&&argv[1][1]=='s'){ std::cout<<"parameter s"<<std::endl; } else if(argv[1][0]=='-'&&argv[1][1]=='m'){ std::cout<<"parameter m"<<std::endl; } else{ std::cout<<"falscher parameter"<<endl; } }
ich selber binn noch am rumbasteln mit der parameterübergabe
aber bei meinen programmen funktionieren sie fast fehlerfrei
-
fbv.a schrieb:
Was soll dein Beitrag? Aber das in deinem Profil steht, dass du HTML programmierst, sagt schon alles...
mein profil ist schon alt sehr alt
da hab ich erst angefangen c++/c programmieren
unter windowsjetzt programmiere ich schon fast 2 jahre c/c++
nur unter linux(Debian)B2T:
so hab ich dass gemacht#include<iostream> int main (int argc, char** argv ){ if(argv[1][0]=='-'&&argv[1][1]=='s'){ std::cout<<"parameter s"<<std::endl; } else if(argv[1][0]=='-'&&argv[1][1]=='m'){ std::cout<<"parameter m"<<std::endl; } else{ std::cout<<"falscher parameter"<<endl; } }
ich selber binn noch am rumbasteln mit der parameterübergabe
aber bei meinen programmen funktionieren sie fast fehlerfrei
Man könnte natürlich auch
strcmp
nutzen.
-
hallo, schaut euch mal getopt an ...
http://www.gnu.org/software/libc/manual/html_node/Getopt.html
-
das geht dann ungefähr so:
... int sflag = 0; int mflag = 0; ... while ((c = getopt (argc, argv, "sm")) != -1) ... case 's': sflag = 1; break; case 'm': mflag = 1; break; ...