29. december 2002 - 11:25Der er
24 kommentarer og 1 løsning
cin.get
Nedenstående er et forsøg på at få brugeren til at indtaste sit navn. Problemet er at, hvis brugeren trykker <RETURN>, så kører do while løkken uendeligt. Er der nogen der kan løse det, eller komme med et forslag til noget anden end cin.get, som kan løse mit problem.
do { cin.get(navn,25); if (strlen(navn)==0) { cout << "Du skal skrive noget!" << endl; } } while (strlen(navn)==0);
Hmm, det giver problemer at bruge cin.get sammen med en std::string. Oprindeligt var navn bare et char array, og der virkede det fint, lige med undtagelse af at brugeren ikke måtte trykke <RETURN>.
Jeg har lige fået et nyt problem. Hvis brugeren trykker <RETURN>, så køres while løkken igen, men stopper ikke ved cin.get og kører derfor uendeligt :-( Grunden til jeg troede det virkede er nok at jeg havde cin.ignore foran cin.get.
Jeg har også copy/pastet det ind i et testprogram og det virker ikke. Hvis man trykker <RETURN>, så skrives "INDTAST NAVN: " uendeligt mange gange til skærmen.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.