Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
andrejap
13 / 13 / 1
Регистрация: 21.04.2013
Сообщений: 245
#1

Почему istream::get() ? - C++

15.02.2014, 17:18. Просмотров 332. Ответов 4
Метки нет (Все метки)

Здравствуйте.
Почему перед istream::getline, необходимо делать get(), если перед этим было cin >> char_array (filein >> char_array)? А между двумя cin >> char_array (filein >> char_array) не нужно?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.02.2014, 17:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Почему istream::get() ? (C++):

Разница между istream::putback и istream::unget - C++
Можете объяснить, пожалуйста, разницу этих двух функций?

Выделение памяти для буффера, под std::istream& operator>>(std::istream &, String &) - C++
Добрый день. Как осуществляется выделения памяти под перегруженный оператор ввода данных в пользовательский тип? Ведь мы заранее не можем...

istream - C++
В 12 стоке ошибка no matching function for call to `std::basic_istream<char, std::char_traits<char> >::basic_istream(char*&, size_t)' В...

istream, ostream - C++
Есть задача по сохранению в файл и восстановлении из файла объекта. Функции надо сделать такие: void Serialize(std::ostream & stream); //...

Перегрузка ofstream, istream - C++
В общем-то ошибка в описана в самом коде //main.cpp #include "ui.cpp" int main() { ui iu; iu.menu(); iu.casein(); ...

istream и конец строки - C++
Решая задачу, столкнулся с проблемой - не знаю, как записать следующее: "пока не конец строки, читаем слово". То есть: string s; while...

4
zss
Модератор
Эксперт С++
6478 / 6041 / 1983
Регистрация: 18.12.2011
Сообщений: 15,660
Завершенные тесты: 1
15.02.2014, 17:23 #2
После операции ввода переменных указатель потока остается на символе
конца строки ('\n'). Поэтому очередной getline считывает строку,
содержащую только этот символ.
1
andrejap
13 / 13 / 1
Регистрация: 21.04.2013
Сообщений: 245
15.02.2014, 17:40  [ТС] #3
zss, тогда у меня напрашивается вопрос: почему в случае
cin >> char_array;
cout << char_array;
cin >> char_array;
cout << char_array;

во втором выводе мы не видим этот '\n' на экране как пустую строку?
0
zss
Модератор
Эксперт С++
6478 / 6041 / 1983
Регистрация: 18.12.2011
Сообщений: 15,660
Завершенные тесты: 1
15.02.2014, 17:52 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
cin в начале пропускает пробельные символы (в т.ч. и конец строки).
1
andrejap
13 / 13 / 1
Регистрация: 21.04.2013
Сообщений: 245
15.02.2014, 17:57  [ТС] #5
Cпасибо, zss!
1
15.02.2014, 17:57
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.02.2014, 17:57
Привет! Вот еще темы с ответами:

istream состояние bad - C++
Всем привет! Как можно вызвать состояние bad у потока istream? (т.е. не так, что &quot;состояние bad может быть вызвано серьезной ошибкой...

Использование конструктора с параметром istream - C++
Данное упражнение с книжки Липпмана. Нужно добавить в класс конструктор с параметром istream, а потом в программе конструктор с данным...

В чем причина ошибки istream - C++
П.5.18.Правил Запрещено размещать задания и решения в виде картинок и других файлов с их текстом.

std::istream часть кода - C++
std::istream &amp;read (std::istream &amp;in, Student_Data &amp;S_D) { cout&lt;&lt;&quot;Enter you name: &quot;; in&gt;&gt;S_D.name; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru