Problem z getline'm po cinie
Ostatnio zmodyfikowano 2014-10-23 17:01
Ehlert Temat założony przez niniejszego użytkownika |
Problem z getline'm po cinie » 2014-10-23 16:41:16 #include <iostream> #include <cstdlib> #include <string>
int main() { short x; std::cin >> x; std::string nazwa; std::getline( std::cin, nazwa ); std::cout << nazwa; system( "pause>nul" ); return 0; }
Witam, napisałem sobie powyższy programik i co dziwne, zamiast po cinie wczytać mi nazwę getline'm program wariuje i skacze do pauzy. Co jest grane? :o Z góry dzięki za pomoc ;) |
|
Rashmistrz |
» 2014-10-23 17:00:05 W buforze zostaje znak nowej linii po wczytaniu twojego "x". "getline" napotyka znak nowej linii, więc wczytuje wszystko przed znakiem nowej linii do "nazwa". (Pozostaje pusta linia) Następnie drukuje "nazwa" (Czyli nic :P) Wstaw czyszczenie bufora pomiędzy wczytaniem "x" a "nazwa": std::cin.sync(); Odsyłam Cię do artykułów, po więcej informacji: Obsługa strumienia wejściowegoWczytywanie tekstu - standardowy strumień wejścia |
|
Ehlert Temat założony przez niniejszego użytkownika |
» 2014-10-23 17:01:30 Wielkie dzięki gra i śmiga :D |
|
« 1 » |