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

[C++] Wczytywanie std::string przy pomocy std::cin

Ostatnio zmodyfikowano 2013-07-15 16:50
Autor Wiadomość
ciekawski
Temat założony przez niniejszego użytkownika
[C++] Wczytywanie std::string przy pomocy std::cin
» 2013-07-15 14:15:37
Witam,

chciałbym się dowiedzieć dlaczego w przypadku kodu:
C/C++
string Napis = "ala ma kota";
cout << Napis;
w konsoli zostanie wyświetlone "ala ma kota"

w przypadku zaś:
C/C++
string Napis;
cin >> Napis;
cout << Napis;
gdy wprowadzę do programu "ala ma kota" konsola zwróci mi samo "ala" ?

wiem, że w przypadku gdy deklaruję kilka zmiennych
C/C++
int z, x, c;
cin >> z, x, c;
mogę wpisać w jednej linijce 3 43 28 i od razu te wartości zostaną przypisane trzem zmiennym.

Dlaczego jednak w przypadku jednej zmiennej tekst jest rozbijany?
P-87946
m4tx
» 2013-07-15 14:25:22
Dane pobierane za pomocą
cin
 wczytywane są do napotkania białego znaku (spacja, enter, etc.). Dlatego właśnie otrzymujesz tylko 1 słowo. Jeśli chcesz pobrać całą linijkę, użyj getline.
P-87950
pekfos
» 2013-07-15 14:27:15
C/C++
cin >> z, x, c;
To nie jest poprawny zapis.
P-87953
ciekawski
Temat założony przez niniejszego użytkownika
» 2013-07-15 16:50:22
@m4tx dzięki za odpowiedź.

@pekfos sorry mój błąd  powinno być
cin >> z >> x >> c;
P-87975
« 1 »
  Strona 1 z 1