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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.63
Wladius
12 / 7 / 2
Регистрация: 06.01.2013
Сообщений: 127
03.06.2013, 10:36     Как работает f.getline(buf, MAX_LEN, '\n') ? #1
Я так понимаю, что buf - куда мы считываем, MAX_LEN сколько считываем, а что значит '\n' (я знаю, что это символ переноса строки, просто зачем он в getline для чего нужен)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2013, 10:36     Как работает f.getline(buf, MAX_LEN, '\n') ?
Посмотрите здесь:

не работает getline C++
Не работает getline(); C++
не работает getline C++
C++ Не работает getline()
Не работает getline() C++
не работает getline C++
C++ Не работает getline()
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Buckstabue
 Аватар для Buckstabue
175 / 124 / 6
Регистрация: 12.01.2012
Сообщений: 624
03.06.2013, 10:48     Как работает f.getline(buf, MAX_LEN, '\n') ? #2
Это символ-идентификатор окончания линии, т.е. символ-разделитель линий
zss
Модератор
Эксперт С++
 Аватар для zss
6054 / 5657 / 1828
Регистрация: 18.12.2011
Сообщений: 14,448
Завершенные тесты: 1
03.06.2013, 10:48     Как работает f.getline(buf, MAX_LEN, '\n') ? #3
\n будет считаться ограничителем строки, т.е. в buf
будет записана вся строка до \n (включая его).
Если символов окажется больше MAX_LEN,
то остальные пропадут.
Tulosba
:)
Эксперт С++
4382 / 3225 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
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
Модератор
Эксперт С++
 Аватар для zss
6054 / 5657 / 1828
Регистрация: 18.12.2011
Сообщений: 14,448
Завершенные тесты: 1
03.06.2013, 10:57     Как работает f.getline(buf, MAX_LEN, '\n') ? #6
Если символов окажется больше MAX_LEN,
то может выбрасываться исключение "Buffer is too small"
(проверил для функции get_s() ).
Tulosba
:)
Эксперт С++
4382 / 3225 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
03.06.2013, 11:24     Как работает f.getline(buf, MAX_LEN, '\n') ? #7
Цитата Сообщение от zss Посмотреть сообщение
проверил для функции get_s()
Что за get_s?
zss
Модератор
Эксперт С++
 Аватар для zss
6054 / 5657 / 1828
Регистрация: 18.12.2011
Сообщений: 14,448
Завершенные тесты: 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') ?
Еще ссылки по теме:

C++ Не работает getline
Что делает цикл "while(cin.getline(buf,l_buf))" ? C++
Как переписать строку из char buf[20] в wchar_t buf1[20]; ? C++
Не работает cin.getline(buf, 20); C++
C++ Не работает getline!

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

Или воспользуйтесь поиском по форуму:
Tulosba
:)
Эксперт С++
4382 / 3225 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
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') ?
Ответ Создать тему
Опции темы

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