Problem bei c++ Konsolen Anwendung
-
Hallo Leute, ich habe ein code verfasst leider habe ich ein kleines bzw großes problem hoffe ihr könnt mir behilflich sein
(ich bin ein neuling in c++ bitte fals ihr sinnvolle antworten postet drückt diese auch verständlich aus.)Code:
#include <iostream> #include <string> #include <cstdlib> using namespace std; int main() { string i; int zahl = 0; while(zahl == 0) { cout << "Bitte geben sie ein befehl ein !" << endl; cin >> i; getchar(); if(i == i) { system(i); zahl++; } else { system("cls"); cout << "Der Befehl konnte nicht gefunden werden ..." << endl << "Bitte geben einen neuen befehl ein: " << endl; getchar(); } } getchar; return 0; }
-
Der fehler ist das: system(i) nicht geht da es nur auf Texte reagirt und ich brauche eine anderre methode um den gleichen Effect zu erwirken.
Danke für jede Hilfe

-
sysyem()braucht, mal abgesehen davon, dass es eigentlich immer ein Design-Fehler ist, einen C-String.
Um einen Zeiger auf den internen Inhalt einesstd::strings, sprich einen C-String, zu bekomen, musst du die Methodec_str()aufrufen://... std::string befehl; cin >> befehl; system(befehl.c_str());
-
Hi danke für deine schnelle Hilfe, ich habe nun aber ein neues problem, habe grade bemerkt das ich:
if(i == i) { system(i); zahl++; } else { system("cls"); cout << "Der Befehl konnte nicht gefunden werden ..." << endl << "Bitte geben einen neuen befehl ein: " << endl; getchar(); }gemacht habe und das i==i immer passirt und die if anwendung dann sinnlos ist, kann mir vll jemand sagen wie ich das programm frage ob der link nun geht oder nicht und wenn nicht soll er die vorgegebene else aussprechen.
Danke
