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

C++

Войти
Регистрация
Восстановить пароль
 
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
#1

Вопрос про getline - C++

29.12.2010, 14:04. Просмотров 592. Ответов 2
Метки нет (Все метки)

Читая ман по getline, я наткнулся на интересный для меня момент:
Код
DESCRIPTION
       getline() reads an entire line from stream, storing the address of  the
       buffer  containing  the  text into *lineptr.  The buffer is null-termi‐
       nated and includes the newline character, if one was found.

       If *lineptr is NULL, then getline() will allocate a buffer for  storing
       the  line, which should be freed by the user program.  (The value in *n
       is ignored.)

       Alternatively, before calling getline(), *lineptr can contain a pointer
       to a malloc(3)-allocated buffer *n bytes in size.  If the buffer is not
       large enough to hold the line, getline() resizes  it  with  realloc(3),
       updating *lineptr and *n as necessary.
А именно, меня заинтересовало предложение "Alternatively, before calling getline(), *lineptr can contain a pointer to a malloc(3)-allocated buffer *n bytes in size." Собственно, в связи с этим возник такой вопрос: эта фраза значит, что существует некоторая функция, которая позволяет узнать, выделена ли для указателя память динамически? Либо использование функции getline подразумевает, что *lineptr всегда будет указателем не на статический буфер?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.12.2010, 14:04     Вопрос про getline
Посмотрите здесь:

Вопрос про cin.getline() - C++
char mas; cout<<"Add Age "; cin>>Age; cout<<"Add Name "; cin.getline(mas,20); Name = new char; strcpy(Name,...

Опять про cin.getline и невызов - C++
я знаю, что вопрос много раз поднимался, но везде ссылки или описания типа делай так и все - это я читал... Вот фрагмент кода: ...

Вопрос про цикл for - C++
Скажите, а есть ли какая-то разница в записях: for (int i=0; i<n; i++) и for (int i=0; i<n; ++i) Спасибо.

вопрос про указателей - C++
вот напр эта строка int *m=new int; это как я понял создается указатель?тогда что такое new int?

Вопрос про память... - C++
Вот скажите пожалуйста в чем разница между int *p = new int; *p = 10; и int n = 10; не могу понять )

вопрос про new из с++ за 21 день - C++
контрольный вопрос: что возвращает оператор new, когда для создания объекта нет достаточно памяти7 Добавлено через 12 минут еще...

Вопрос про цикл. - C++
Добрый день. Попал в тупик, не знаю как закрутить cin>> в цикл подскажите пожалуйста:). Вот собственно задание: Написать функцию,...

вопрос про отладку - Visual C++
Подскажите кто нибудь, как в Visual C++ 2008 делать отладку программы? искал в google ничего внятного не нашел...

Вопрос про char - C++
Пожалуйста обьясните доступным языком в чем разница между объявлениями, и какие когда лучше использовать char a; char *c; char b=new...

Вопрос про Swich - C++
Пример: int i=2; switch (i) { case 1: i += 2; case 2: i *= 3; case 0: i /= 2; case 4: i -= 5; default: ; } Выполнение оператора...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
odip
Эксперт С++
7157 / 3297 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
29.12.2010, 17:48     Вопрос про getline #2
Найди сорцы getline() и посмотри
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
29.12.2010, 18:26  [ТС]     Вопрос про getline #3
Цитата Сообщение от odip Посмотреть сообщение
Найди сорцы getline() и посмотри
Об этом я как-то и не подумал...
Как оказалось, никаких дополнительных функций нету
Ответ Создать тему
Опции темы

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