Problem beim String eingeben
-
ich habe folg. code
#include <iostream> #include <string> using namespace std; void main() { string in; int x; cout<<"Zeichenkette: "; getline(cin,in); cout<<"Zahl: "; cin >> x; cout<<endl<<"Eingabe:\t"<<in<<endl <<"Zahl:\t\t"<<x<<endl; }
Das problem liegt darin das ich immer 2*ENTER drücken muss ehe ich die zahl eingeben kann. wichtig ist das auch leerzeichen im string vorkommen dürfen.
Danke.
-
Das Problem ist getline(), die Implementierung des MSVC ist etwas daneben gegangen und erfordert das zweimalige Drücken von Enter.
Am besten lädst du dir den Fix auf http://bens.c-plusplus.info
MfG SideWinder
-
Hi, Wenn du schon mit strings arbeitest, dann mach es doch gleich so:
#include <iostream> #include <stdlib.h> #include <string> using namespace std; int main() { string in; int x; cout<<"Zeichenkette: "; cin>>in; cout<<"Zahl: "; cin>>x; cout<<endl<<"Eingabe:\t"<<in<<endl <<"Zahl:\t\t"<<x<<endl; system("PAUSE"); return 0; }
-
Nein eben nicht, hier wird keine ganze Zeile eingelesen
MfG SideWinder
-
Ich will zwar nicht einem Mod wiedersprechen aber er arbeitet doch mit string und nicht mit char*
Und außerdem bei mir klappt es (DevCpp). :p
-
Nur weils der Dev macht, heißt das noch lange nicht, dass es richtig ist