Man pages на русском

         

Man pages на русском


НАЗВАНИЕ

gets, fgets - чтение цепочки символов из потока

СИНТАКСИС

#include <stdio.h>

char *gets (s) char *s;

char *fgets (s, n, stream) char *s; int n; FILE *stream;

ОПИСАНИЕ

Функция gets читает символы из стандартного потока ввода stdin в область памяти, на которую указывает аргумент s. Чтение производится до тех пор, пока не встретится перевод строки или конец файла. Символ перевода строки отбрасывается, а прочитанная цепочка ограничивается нулевым байтом.

Функция fgets считывает (n-1) символов из потока ввода stream в область памяти, на которую указывает аргумент s. Чтение производится до тех пор, пока не встретится перевод строки (в отличие от gets он не отбрасывается) или конец файла. Прочитанная цепочка символов ограничивается нулевым байтом.

СМ. ТАКЖЕ

, , , , , .

ДИАГНОСТИКА

Если первым прочитанным символом окажется признак конца файла, то есть фактически ни одного символа не будет считано, то обе функции возвращают пустой указатель NULL. Если обнаружена ошибка чтения, например, при попытке использовать эти функции для файлов, не открытых на чтение, то также возвращается NULL. В остальных случаях возвращается значение указателя s.


, .

ДИАГНОСТИКА

Функции malloc, realloc и calloc возвращают пустой указатель NULL, если нет достаточного количества памяти или если обнаруживается нарушение структуры блоков (обычная причина такого нарушения - запись в память вне выделенных границ). В подобной ситуации не гарантируется сохранение содержимого блока, на который указывает аргумент ptr.

ПРИМЕЧАНИЯ

Когда захвачено много блоков памяти, время поиска свободного блока увеличивается. Если программа захватывает память, но не освобождает ее, то каждое последующее успешное выделение памяти происходит медленнее. Чтобы этого избежать, можно использовать более гибкую реализацию, см. .









Содержание раздела