Считать строку символов из стандартного потока ввода (stdin)
#include <stdio.h>char * gets( char *buf );
libc
Функция gets() получает строку символов из потока stdin, и сохраняет их в массиве, на который указывает buf, до тех пор, пока не будет обнаружен символ EOF или не будет прочитан символ новой строки. Любой символ новой строки отбрасывается, и строка заканчивается NUL
.
![]() | Следует использовать fgets() вместо gets(); gets() переполняет массив buf, если символ новой строки не считается из stdin до того, как будет достигнут конец массива. |
Функция gets() близка к fgets(), за исключением того, что gets() работает с stdin, не имеет аргумента size и заменяет символ новой строки символом NUL
.
Указатель на буфер. Если возникла ошибка или достигнут конец файла, функция возвращает NULL
, код ошибки записывается в errno.
#include <stdio.h>#include <stdlib.h>int main( void ){char buffer[80];while ( gets( buffer ) != NULL ){puts( buffer );}return (EXIT_SUCCESS);}
ANSI, POSIX 1003.1
errno, feof(), ferror(), fopen(), getc(), fgetc(), fgets(), puts(), ungetc()
Предыдущий раздел: Описание API системной библиотеки