Schon wieder Problem mit dem Fenster
-
cin.sync();
cin.get();cu
-
Nö, schau lieber mal in die FAQ - dachte auch vorher an cin.sync(), aber Hume hat mich eines besseren belehrt!
MfG SideWinder
-
Scheisse
ich bin echt zu doof, könte bitte einer so freundlich sein und mir den Code so umändern das sich dieses blöde Fenster nicht mehr schliesst? BITTE !Bin am verzweifeln, möchte gerne C++ lernen, aber wie, wenn ich nie sehen kann, ob es auch wirklich funktioniert?

Hier noch einmal der Code, habe auch die Zeilen aus der FAQ eingefügt, klappt trotzdem nicht, warum?
#include<iostream> using namespace std; int main() { char b; cout << "Bitte einen Buchstaben eingeben: " ; cin >> b; cout << b << endl; std::cin.clear (); std::cin.ignore ( std::cin.rdbuf () -> in_avail () ); std::cin.get (); }Schonjetzt einmal Danke für Eure Hilfe und Eure geduld mit mir blutigem Anfänger

Gruß
WingMan
-
So jetzt bin ich der Dumme...habe keine Ahnung warum es bei dir nicht funktioniert...
Sollten alle Stricke reißen, versuch einmal folgendes anstatt der 3 Zeilen:
#include <conio.h> // oben einfügen #include <windows.h> // oben einfügen ... FlushConsoleInputBuffer ( GetStdHandle ( STD_INPUT_HANDLE ) ); getch ();Hoffentlich schaut ein C++-Profi rein, aber bei mir funktioniert dein Quelltext (hab jetzt nicht explizit deinen ausprobiert, aber hab diesen schon öfters benützt).
MfG SideWinder
-
also ich habe genau den code von Wingman eingesetzt und er hat am schluss schön gewartet bis man enter drückt.
-
Hmm, eigentlich sollte das funktionieren. Ich hab noch ne andere Variante zu bieten, die aber in diesem Fall eigentlich das gleiche tut wie dein letzter Code! Aber probiers einfach mal:
#include<iostream> using namespace std; int main() { char b; cout << "Bitte einen Buchstaben eingeben: " ; cin >> b; cout << b << endl; cin.clear(); cin.seekg(0L, ios::end); // geht ans Ende des Datenstroms cin.get(); return 0; }Btw... main() sollte eigentlich immer nen Rückgabewert haben. Und wenn du die Using-Klausel einsetzt (using namespace std; in deinem Fall) ist es unnötig den Namensraum bei Aufrufen nochmal explizit anzugeben (cin.get() anstatt std::cin.get() ).
-
Das std:: kommt bei ihm aus der FAQ, wo ich nicht sicher sein kann, dass jeder ein "using namespace std;" oben hinsetzt ;-).
MfG SideWinder
-
auf die gefahr das ich mich lächerlich mache, ABER einfach "getch();" am ende dürfts doch auch tun oder? wenn nich, warum?
grüsse.
-
ok, ok, ich hab jetzt gelesen und nehme obigen beitrag zurück.....
(hab jetzt auch die faq gelesen..)
-
Hehe, Erleuchtung :).
MfG SideWinder