Fehler mit system() und getline()
-
Mein Prog hat eine Eingabeaufforderung mit der man Befehle ausfürhren kann, die Eingabe erfolgt in einer do-while Schleife.
Ich hab folgendes Problem, wenn ich mit cin ein String einlese und an system() weitergebe gibts kein Fehler, aber mit getline() schon. Dann kommt Fehler:Microsoft Visual C++ DEbug Libary
Debug Assertion Failed
Expression: *command != _T('\0');Ich vermute das hat etwas mit der Eingabe auf sich, ich hab mal in einer anderen Datei das ausprobiert:
string str; cout << "exec: "; //cin >> str; getline(cin ,str); system(str.c_str());
Sobald man nur die Eingabetaste drückt ohne etwas einzugeben kommt der Fehler.
Könnt ihr mir helfen
-
offenbar mag system keinen leeren string als argument. Den musst du mit einer if-abfrage also rausfiltern.
-
sind getline und cin kompatibel?
das ist kein ansi c, also muss ich das nicht wissen.