Programm hängt sich auf (getline()) [hat sich inzwischen erledigt]
-
Hallo,
ich habe gerade angefangen C++ zu lernen. Ich habe eine einfache Konsolenanwendung geschrieben und verstehe nicht, weshalb sich das Programm aufhängt. Vielleicht kann mir jemand erklären was an dem Code falsch ist. Ich arbeite unter Windows und habe die IDE Netbeans 7.4 mit dem Compiler MinGW installiert.#include <iostream>
#include <string>
using namespace std;
int main(int argc, char** argv) {cout << "Text eingeben: ";
string eingabe;
getline(cin, eingabe);
cout << eingabe << endl;return 0;
}bei diesem Code hängt sich das Programm auf, sobald ich aber die Zeile mit "getline" ändere und nur "cin" benutze funktioniert es. Was mache ich falsch?
Danke für eine Erklärung/Unterstützung.
-
Da dran ist alles richtig.
Was genau verstehst du unter "aufhängen"? Dir ist schon klar, dass getline auf ein newline (oder Ende der Eingabe) wartet? Wenn niemals ein Zeilenumbruch kommt, dann wird eben weiter gewartet.
-
Nachdem ich einen Text eingegeben und Enter gedrücht habe läuft das Programm bis ich es manuell beende.
-
SeppJ schrieb:
Da dran ist alles richtig.
Bestätige. An deinem Code liegt es nicht, ohne weitere Informationen können wir dir nicht helfen.
-
[/quote]ohne weitere Informationen können wir dir nicht helfen.[/quote]
Welche Information brauchst Du um mir sagen zu können warum es mit diesem "getline" nicht funktioniert?
-
Ben362 schrieb:
ohne weitere Informationen können wir dir nicht helfen.
Welche Information brauchst Du um mir sagen zu können warum es mit diesem "getline" nicht funktioniert?Das ist schwer zu sagen, da dieses Programm ziemlich einfach ist und eigentlich nichts schiefgehen kann. Daher muss der Fehler ganz woanders liegen. Ein paar Punkte, die du beschreiben könntest:
-Ist dies wirklich zu 100% der gleiche Code, den du in deinem Programm benutzt? Keine noch so kleine Änderung unterschlagen?
-Bist du sicher, dass du diesen Code übersetzt hast und das daraus erstellte Programm ausführst, nicht versehentlich ein anderes (vielleicht eine ältere Version?)? Welche Schritte unternimmst du, um das Programm auszuführen? Wenn du "Text eingeben" durch etwas anderes ersetzt, wird dies übernommen?
-Was genau gibst du ein, welche Ausgaben erscheinen genau?
-
Siehe hier, alles ist korrekt.
Was manchmal bei Entwicklungsumgebungen passiert ist, dass sie nicht automatisch neukompilieren, oder nicht vollständig. Dann kann das öfters mal für komisches Verhalten sorgen.
-
Danke für eure Mühe mir zu helfen.
Der Code, so wie ich ihn gepostet habe stimmt mit meiner Datei überein. Es wurde nichts weggelassen und es wurde auch jedesmal neu compiliert.
Nachdem es ja nicht am Code selbst liegen konnte, mußte ich das Problem anders lösen. Ich habe Netbeans deinstalliert und bin auf Codeblocks umgestiegen. Damit funktioniert jetzt alles so wie es sein soll.
Sorry das ich Euch mit einem Problem belästigt habe, dass offensichtlich mit der IDE zusammenhängt (auch wenn ich es mir nicht erklären kann).