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

[C++] std::getline zwraca pusty wiersz

Ostatnio zmodyfikowano 2013-11-29 08:17
Autor Wiadomość
mikson
Temat założony przez niniejszego użytkownika
[C++] std::getline zwraca pusty wiersz
» 2013-11-28 20:03:58
Witam.

Mam probelm z funkcją "getline", mianowicie...
C/C++
#include <iostream>
using namespace std;
int main()
{
    z:
    string koment, buf;
    int odp;
   
    system( "cls" );
    cout << "CO CHCESZ ZROBIC???\n\n1. DODAJ DATE...\n2. Costam costam\n3. itd...\n\n";
    cin >> odp;
   
    if( odp == 1 )
    {
       
        system( "cls" );
       
        cout << "DATA (format xx.xx.xxxxr.)\nNiepotrzebne miejsca w dacie wypelnic zerami 0, na koncu z dopiskiem \"r.\"!\n\n";
        cin >> buf;
       
        cout << "\n\n\nKOMENTARZ:\n";
        getline( cin, koment );
        system( "pause" );
        goto z;
       
    }
   
}
Niby do sekcji "komentarz" getline jest, ale komputer traktuje go tak, jakby go nie było i od razu przechodzi do system("pause");...
Co z tym zrobić?

Pozdrawiam.
P-97790
Monika90
» 2013-11-28 20:10:27
To pewnie dlatego, że po cin >> buf w strumienu pozostaje znak końca linii czyli '\n', więc następne getline po prostu wczyta pustą linię.
P-97792
mikson
Temat założony przez niniejszego użytkownika
» 2013-11-28 21:04:37
Jak to naprawić?
P-97801
SeaMonster131
» 2013-11-28 21:09:16
Wyczyść strumień przed ponownym wczytaniem.

Podobny problem: http://cpp0x.pl/forum/temat/​?id=13271&p=2
P-97803
mikson
Temat założony przez niniejszego użytkownika
Zamykam.
» 2013-11-29 08:17:23
Dziękuję wszystkim za pomoc, już działa :)

Pozdrawaim i zamykam.
P-97827
« 1 »
  Strona 1 z 1