Пропуск пробелов или skipws/noskipws
От: WirBi  
Дата: 07.10.05 06:37
Оценка:
Мне нужно считать из потока строку вместе с пробелами. Я делаю вот так:

#include <iostream>
#include <string>

int main () {
std::string s;
std::cin >> std::skipws >> s;
std::cout << s << '\n';
return 0;
}

Теперь ввожу строку вида:
123 234 356
(с пробелами), а на выходе опять только 123. Пробовал заменять skipws на noskipws, результат один и тотже. Нужна помощь.
Re: Пропуск пробелов или skipws/noskipws
От: GregZ СССР  
Дата: 07.10.05 06:43
Оценка:
Здравствуйте, WirBi, Вы писали:

WB>Мне нужно считать из потока строку вместе с пробелами. Я делаю вот так:


WB>#include <iostream>

WB>#include <string>

WB>int main () {

WB> std::string s;
WB> std::cin >> std::skipws >> s;
WB> std::cout << s << '\n';
WB> return 0;
WB>}

WB>Теперь ввожу строку вида:

WB>123 234 356
WB>(с пробелами), а на выходе опять только 123. Пробовал заменять skipws на noskipws, результат один и тотже. Нужна помощь.

skipws игнорирует только начальные пропуски при чтении данных.
Если хочешь считать строку (и разделителем \r\b) пользуйся getline
Re[2]: Пропуск пробелов или skipws/noskipws
От: GregZ СССР  
Дата: 07.10.05 06:45
Оценка:
ОписАлся.

c разделителем \r\n)
Re[3]: Пропуск пробелов или skipws/noskipws
От: WirBi  
Дата: 07.10.05 06:54
Оценка:
Здравствуйте, GregZ, Вы писали:

GZ>ОписАлся.


GZ>c разделителем \r\n)


Я так понимаю, что getline принимает в качестве параметра буффер char. Как красиво связать это со string?
Re: Пропуск пробелов или skipws/noskipws
От: Bell Россия  
Дата: 07.10.05 06:56
Оценка:
Здравствуйте, WirBi, Вы писали:

WB>Мне нужно считать из потока строку вместе с пробелами.


std:.string str;
std::getline(std::cin, str);

?
Любите книгу — источник знаний (с) М.Горький
Re[4]: Пропуск пробелов или skipws/noskipws
От: Bell Россия  
Дата: 07.10.05 06:58
Оценка:
Здравствуйте, WirBi, Вы писали:


WB>Я так понимаю, что getline принимает в качестве параметра буффер char.


Это функция-член. Тебе же нужна "обычная" функция.
Любите книгу — источник знаний (с) М.Горький
Re[2]: Пропуск пробелов или skipws/noskipws
От: WirBi  
Дата: 07.10.05 06:59
Оценка:
Здравствуйте, Bell, Вы писали:

B>
B>std::getline(std::cin, str);
B>


Огромное спасибо!!!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.