String Probleme
-
Könnte mir vielleicht jemand ein entsprechendes Beispiel geben ? Sind ja praktisch nur 2 oder 3 Zeilen.
-
std::string eingabe;
std::cin >> eingabe;
if( eingabe != "Test eingeben")
{
std::cout << "richtig";
}noch fragen?
-
huch, stimmt:
getline(std::cin, eingabe);
-
#include <iostream> #include <string> using namespace std; int main() { string eingabe; getline(cin, eingabe); if(eingabe == "Tolles Programm") cout << "Richtig, gut erkannt!" << endl; }
Das funktioniert ja schonmal nicht schlecht. Allerdings muss ich nach der Eingabe 2 mal Enter drücken und das nervt gewaltig. Bekomme ich das auch noch irgendwie hin ?
-
Hallo,
wo genau musst du Enter drücken? Welchen Compiler benutzt du denn? Ich hab das Problem nämlich nicht.
-
Ich benutze Microsoft Visual C++ 6.0.
Das erste Enter nach der Eingabe, dann noch einmal Enter. Erst dann erscheint "richtig, gut erkannt".
dann wird "press any key" angezeigt und das dritte Enter ist fällig. Ich glaube das Problem hätte ich mit Dev C++ nicht, oder ?
-
Pasche schrieb:
Ich benutze Microsoft Visual C++ 6.0.
Guckst du hier: http://www.dinkumware.com/vc_fixes.html (Fix für <string>)
Auf meiner Webseite findest du auch eine zip-Datei mit allen Fixes:
http://fara.cs.uni-potsdam.de/~kaufmann/progs/STLFix.ZIP
-
Pasche schrieb:
Ich glaube das Problem hätte ich mit Dev C++ nicht
Nein
-
Ah ja, jetzt gehts auch mit Visual C++. Danke @HumeSikkins
Eine Frage hätte ich da aber noch. Bei Visual C++ wird ja bei jeder Konsolenanwendung zum Schluss automatisch eine Taste abgefragt. Bei Dev C++ muss man so weit ich weiß ein getchar(); hinzufügen.
kann ich diese letzte abfrage bei Visual c++ auch noch ausschalten ?
-
Die letzte Abfrage bei Visual C++ erscheint nur, wenn Du das Programm von der IDE aus startest (F5). Wenn Du das kompilierte Programm aus dem Explorer startest, beendet sich die Konsole nach dem Programmende.
Gruß,
MTE.P.S.: Komisch, sonst wollen die Leute immer wissen, wie sie das Fenster offenhalten können