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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.63
Wladius
12 / 7 / 2
Регистрация: 06.01.2013
Сообщений: 127
#1

Как работает f.getline(buf, MAX_LEN, '\n') ? - C++

03.06.2013, 10:36. Просмотров 1145. Ответов 8
Метки нет (Все метки)

Я так понимаю, что buf - куда мы считываем, MAX_LEN сколько считываем, а что значит '\n' (я знаю, что это символ переноса строки, просто зачем он в getline для чего нужен)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Buckstabue
175 / 124 / 6
Регистрация: 12.01.2012
Сообщений: 624
03.06.2013, 10:48     Как работает f.getline(buf, MAX_LEN, '\n') ? #2
Это символ-идентификатор окончания линии, т.е. символ-разделитель линий
zss
Модератор
Эксперт С++
6321 / 5905 / 1913
Регистрация: 18.12.2011
Сообщений: 15,181
Завершенные тесты: 1
03.06.2013, 10:48     Как работает f.getline(buf, MAX_LEN, '\n') ? #3
\n будет считаться ограничителем строки, т.е. в buf
будет записана вся строка до \n (включая его).
Если символов окажется больше MAX_LEN,
то остальные пропадут.
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
03.06.2013, 10:49     Как работает f.getline(buf, MAX_LEN, '\n') ? #4
Wladius, неужели так сложно посмотреть справку?
http://www.cplusplus.com/reference/s...tring/getline/
Wladius
12 / 7 / 2
Регистрация: 06.01.2013
Сообщений: 127
03.06.2013, 10:55  [ТС]     Как работает f.getline(buf, MAX_LEN, '\n') ? #5
Цитата Сообщение от Tulosba Посмотреть сообщение
Wladius, неужели так сложно посмотреть справку?
http://www.cplusplus.com/reference/s...tring/getline/
Я смотрел, но там по-английски и чтобы избежать недопонимания спросил, спасибо всем
zss
Модератор
Эксперт С++
6321 / 5905 / 1913
Регистрация: 18.12.2011
Сообщений: 15,181
Завершенные тесты: 1
03.06.2013, 10:57     Как работает f.getline(buf, MAX_LEN, '\n') ? #6
Если символов окажется больше MAX_LEN,
то может выбрасываться исключение "Buffer is too small"
(проверил для функции get_s() ).
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
03.06.2013, 11:24     Как работает f.getline(buf, MAX_LEN, '\n') ? #7
Цитата Сообщение от zss Посмотреть сообщение
проверил для функции get_s()
Что за get_s?
zss
Модератор
Эксперт С++
6321 / 5905 / 1913
Регистрация: 18.12.2011
Сообщений: 15,181
Завершенные тесты: 1
03.06.2013, 19:11     Как работает f.getline(buf, MAX_LEN, '\n') ? #8
Цитата Сообщение от Tulosba Посмотреть сообщение
Что за get_s?
Цитата из MSDN:
char *gets_s(
char *buffer,
size_t sizeInCharacters
);
wchar_t *_getws_s(
wchar_t *buffer,
size_t sizeInCharacters
);
template <size_t size>
char *gets_s(
char (&buffer)[size]
); // C++ only
template <size_t size>
wchar_t *_getws_s(
wchar_t (&buffer)[size]
); // C++ only
Parameters
[out] buffer
Storage location for input string.

[in] sizeInCharacters
The size of the buffer.

Return Value
Returns buffer if successful. A NULL pointer indicates an error or end-of-file condition. Use ferror or feof to determine which one has occurred.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.06.2013, 19:18     Как работает f.getline(buf, MAX_LEN, '\n') ?
Еще ссылки по теме:
не работает getline C++
C++ Не работает getline()
Не работает getline() C++
C++ Не работает getline()
не работает getline C++

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

Или воспользуйтесь поиском по форуму:
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
03.06.2013, 19:18     Как работает f.getline(buf, MAX_LEN, '\n') ? #9
zss, так get_s это не gets_s В любом случае, функция нестандартная.
Yandex
Объявления
03.06.2013, 19:18     Как работает f.getline(buf, MAX_LEN, '\n') ?
Ответ Создать тему
Опции темы

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