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

getline, string, запись в файл, русский язык - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти количество заштрихованых квадратов http://www.cyberforum.ru/cpp-beginners/thread936921.html
Помогите решить задачку пожалуйста. Программа должна вывести количество заштрихованых квадратов (5) если квадраты прилегают друг к другу это щитается как 1.
C++ Нулевые значения массива Для чего инициализировать массив нулевыми значениями? http://www.cyberforum.ru/cpp-beginners/thread936898.html
Каковая точность округления? C++
Какова точность округления у таких функций, как round/ceil/floor? Сколько раз я могу просуммировать число с погрешностью (имеется ввиду, что у меня уже есть число x=0.000000..1 и до каких пор выражение y += x будет удовлетворять условию round(y) == 0f)?
Кто за сколько времени выучил с++ на среднем уровне ? C++
Здравствуйте !Возник вопрос (если можно так назвать) .Просто интересно .Кто за сколько времени, выучил с++ на среднем уровне ?
C++ Напишите программу, которая кодирует фразы английского языка псевдолатынью http://www.cyberforum.ru/cpp-beginners/thread936870.html
Всем привет, вот сама задача: Напишите программу, которая кодирует фразы английского языка псевдолатынью. Псевдолатынь - это форма кодированного языка, часто используемая для развлечения. Существует много вариантов формирования фраз на псевдолатыни. Для простоты используйте следующий алгоритм: Чтобы сформировать фразу на псевдолатыни из фразы на английском языке, разбейте фразу на слова с...
C++ Как правильно записать число в вектор, который состоит из векторов? Что-то никак не соображу. Каждый элемент - это вектор... std::vector< std::vector<int> > v; ... v = 1; // error C2679: бинарный "=": не найден оператор, принимающий правый операнд типа "int" (или приемлемое преобразование отсутствует) подробнее

Показать сообщение отдельно
alsav22
5415 / 4811 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.08.2013, 15:40     getline, string, запись в файл, русский язык
Цитата Сообщение от VLK Посмотреть сообщение
в чем разница между get() и getline() ?
istream& get (char* s, streamsize n);
Если символ вообще не извлекается (например, сразу конец файла), то
в строку ввода помещается '\0' и устанавливается failbit (и eofbit).
Если вводится больше, чем n - 1, то в конец строки ввода помещается '\0', флаг ошибки НЕ устанавливается (в отличие от getline(char* s, streamsize n)). Не введённое (вмесе с '\n') остаётся в очереди.
Если конец файла, то устанавливает eofbit. ВАЖНО!!! ПОТОК С УСТАНОВЛЕННЫМ eofbit, ОБРАБАТЫВАЕТСЯ УСЛОВНЫМИ ОПЕРАТОРАМИ КАК true. ЕСЛИ ЖЕ В ПОТОКЕ УСТАНОВЛЕН failbit ИЛИ badbit, ТО КАК false.
Если пустая строка (т.е., '\n' - первый), то чтение останавливается и устанавливается failbit(в отличие от getline(char* s, streamsize )), символ '\n' остаётся в очереди (в отличие от getline(char* s, streamsize n)), в строку ввода помещается '\0';
Если символ перевода строки('\n', но не первый), то чтение останавливается, в конец строки
помещается '\0', символ '\n' остаётся в очереди (в отличие от getline(char* s, streamsize n)), поэтому если дальше будет get (char* s, streamsize n), то установится failbit.

istream& getline(char* s, streamsize n);
Если символ вообще не извлекается (например, сразу конец файла), то
в строку ввода помещается '\0' и устанавливается failbit (и eofbit).
Если вводится больше, чем n - 1, то в конец строки ввода помещается '\0' и
устанавливает failbit. Не введённое остаётся в очереди.
Если конец файла, то устанавливается eofbit. ВАЖНО!!! ПОТОК С УСТАНОВЛЕННЫМ eofbit, ОБРАБАТЫВАЕТСЯ УСЛОВНЫМИ ОПЕРАТОРАМИ КАК true. ЕСЛИ ЖЕ В ПОТОКЕ УСТАНОВЛЕН failbit ИЛИ badbit, ТО КАК false.
Если пустая строка (т.е., '\n' - первый), то чтение останавливается,
символ '\n' извлекается из очереди (в отличие от get (char* s, streamsize n)), но не сохраняется, в строку ввода помещается '\0' . Флаг ошибки НЕ устанавливается (в отличие от get (char* s, streamsize n)). Не введённое остаётся в очереди. Если символ перевода строки('\n', но не первый), то чтение останавливается, в конец строки помещается '\0', символ '\n' извлекается из очереди (в отличие от get (char* s, streamsize n)), но не сохраняется.

Добавлено через 31 секунду
Цитата Сообщение от VLK Посмотреть сообщение
т.е. из-за строчки 25 ( cin >> sum ) у меня строчка 27 ( std::getline(cin, name) ) не работает?
Да.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru