Argc, argv
-
Hallo, ich wollte mein programm mit kommandozeilen paramter starten lassen, nun ist das problem, wenn garkeiner eingeben wird (bis auf programmname, der ja immer argv[0] ist), kommt ausnahmefehler!
int main(int argc, char* argv[]) { string str=argv[1]; int z1,z2; if(argc==1) {cout<<"Ohne kommando"<<endl; } else if(argc==2) { cout<<"Falsche Anzahl an Parametern"<<endl; cout<<"Richtige Syntax: Programm [Paramter]"<<endl; } else if(str=="ja") { cout<<"Berechnung:"<<endl; cout<<"Geben Sie zahl1 ein: ";cin>>z1; cout<<"Geben Sie zahl2 ein: ";cin>>z2; cout<<Berechnung(z1,z2); } else cout<<"Fehler---Beenden"<<endl; else{} getch(); return 0; }
-
das letzt else muss raus, geht trotzdm nich!
-
string str=argv[1];
Überleg nochmal.
-
Dancing_ric schrieb:
string str=argv[1];
-
string str=argv[1];
wenn argc==1 ist, dann ist argv[1] NULL und str will logischerweise keinen 0 Zeiger...
-
auf deutsch, erst argv[1] str zuweisen, wenns da ist!
-
ahja danke, nun gehtz