Cin.get wird übersprungen
-
Tut mir leid , es hat nicht funktioniert:
switch(auswahl)
{
case 1:
{cout <<"geben sie einen (kleinen) Text ein :" << endl;
getline(text, 199);ofstream Output ("text.tst", ios::binary);
Output.write ((char*) &text , sizeof (text));Output.close ();
break;
}Fehlermeldung: no matching function for call to "getline(Char[200], int)"
fehlt vielleicht eine include Datei?
-
1)Text hat den Typ eines Char Arrays
2)Ich habe 1 als char .
3)Trifft leider auch zu.
-
sorry
meine Auswahl Variable ist int.
liegt das Problem jetzt daran, Das auswahl mit cin definiert wurde?

-
Nick. schrieb:
Tut mir leid , es hat nicht funktioniert:
Schau noch mal in GPCs Post. Dort stand nämlich
getline(cin, text), wobei text vom Typ std::string ist. => Wenn du eine Zeile von der Tastatur in einen char* einlesen willst, verwendest du cin.getline(dein_buffer, die_anzahl_der_zu_lesenden_zeichen); Siehe dazu auch hier.
Gruß Caipi
-
Kann mir das einer mit dem istreamgetline Erklären

-
std::string str(""); getline(cin, str);das liest eine Zeile von der "Tastatur" in str rein. Vergiss C-Strings, nimm std::string.
-
Ich musste bei getline immer ein "cin.ignore()" davor setzen weil er sonst das Enter von der auswahl immer mitgenommen hat ... vieleicht hängt es ja auch damit zusammen

-
GPC schrieb:
Schätzungsweise liegt noch etwas im Stream, leer den mal: while (getchar()!='\n');
-
Jo hab ich gelesen war mir nicht sicher obs das selbe ist
... aber so ists doch einfacher ?
-
Mortal2006 schrieb:
Jo hab ich gelesen war mir nicht sicher obs das selbe ist
... aber so ists doch einfacher ?Nimmt sich imho nicht viel. Ich nehm halt immer die while (getchar()!='\n'); Lösung.