Programm wartet nicht auf Eingabe
-
Hallo,
also ich habe folgenden Code:cout<<"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"; cout<<"Welcome...\nUsername: "; cin>>stUsername; cout<<"Password: "; cin>>stPassword;allerding wartet das Programm nach "Username:" nicht auf eine Eingabe sondern schreibt "Password: " direkt dahinter.
D.h. da steht dann "Welcome...\nUsername: Password: "
wie kann ich das verhindern?
-
Hat sich geklärt auf einma funzt es

-
Hmmm Sorry geht doch nicht ganz

ok:
cout<<">> "; cin>>stConn; if(stConn.substr(0,7)=="connect") { cout<<"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"; cout<<"Welcome...\nUsername: "; cin>>stUsername; cout<<"Password: "; cin>>stPassword; }Wenn für stConn "connect" eingegeben wird, funktioniert es und nach username und password wird nachheinander gefragt
wenn ich allerdings "connect abcdef" eingebe, kommt der fehler den ich oben schon erwähnt habe im ersten post.Danke im Voraus
-
Dieser Thread wurde von Moderator/in akari aus dem Forum VCL/CLX (Borland C++ Builder) in das Forum C++ verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Der operator >> von cin nutzt ' ' als Trennzeichen.
"connect abcdef" sind also zwei einzelne "Blöcke", nenn ich sie mal.
Willst du z.B '\n' als Trennzeichen verwenden, also immer eine Zeile einlesen, kannst du am besten std::getline zusammen mit std::string benutzen.std::string s; std::getline(std::cin, s);Du musst natürlich iostream und string inkludieren.
Gruß
Don06
-
du könntest find() benutzen
int find(string str, int pos)da sucht er im string ab pos str und gibt den als int weiter
also zum beispiel soint a = b.find("hallo", 0)dann ist es egal ob "hallo" "rttehallo" "hallosobb" "osfochallotsfn" eingegeben wird
<edit> und ich werde immer langsamer mit tippen^^</edit>