Probleme mit int main(int argc, char *argcv[])
-
Hallo!
Ich würde gerne testen ob bei einem Programmstart ein Attribut übergeben wurde, nennen wir es mal test.
irgendwas.exe test
Jetzt lasse ich mir per argc die Anzahl der Attribute ausgeben: Zwei, erstens der Pfad, zweites test.
Aber bei folgender Abfrag beendet sich das Programm einfach sofort:
int main(int argc, char *argcv[]) { char pfad[99]; cout<<argc<<endl; if(argc == 2) { cout<<"hmmmhh:"<<endl; cin>>pfad; // kommt hier nie an) if(strcmp(argcv[argc], "test") == 0) cout<<"sehr gut"<<endl; } else { cout<<"kein attribut"<<endl; } return(0); }
Die else Bedingung klappt, aber wenn man "test" angibt schließt sich das fenster einfach
-
Das Array char * argcv[] hat wie alle anderen das erste Element bei 0 und das zweite bei 1.
-
Aber es wird ja nichtmal das mmhh ausgegeben obwohl argc == 2 sein müsste wenn man ein attribut angibt, deshalb verstehe ich das nicht
-
#include <iostream.h> #include <string.h>, int main(int argc, char *argcv[]) { char pfad[99]; cout<<argc<<endl; if(argc == 2) { cout<<"hmmmhh:"<<endl; cin>>pfad; // kommt hier nie an) if(strcmp(argcv[argc-1], "test") == 0) cout<<"sehr gut"<<endl; } else { cout<<"kein attribut"<<endl; } return(0); }
bei mir funzt es so einwandfrei