Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Problem z getline'm po cinie

Ostatnio zmodyfikowano 2014-10-23 17:01
Autor Wiadomość
Ehlert
Temat założony przez niniejszego użytkownika
Problem z getline'm po cinie
» 2014-10-23 16:41:16
C/C++
#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 ;)
P-119259
Rashmistrz
» 2014-10-23 17:00:05
Co jest grane?
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:
» Kurs C++ » Poziom 1Obsługa strumienia wejściowego lekcja
» Kurs C++ » Poziom 3Wczytywanie tekstu - standardowy strumień wejścia lekcja
P-119261
Ehlert
Temat założony przez niniejszego użytkownika
» 2014-10-23 17:01:30
Wielkie dzięki gra i śmiga :D
P-119262
« 1 »
  Strona 1 z 1