Получает строку из потока байтов.
char *fgets( char *string, int n, FILE *stream ); wchar_t *fgetws( wchar_t *string, int n, FILE *stream );
|
Место хранения для данных.
nМаксимальное число символов для чтения.
streamУказатель на структуру FILE.
Каждая из этих функций возвращает строку. NULL возвращается, чтобы указать ошибку или условие метки конца файла. Используйте функции feof или ferror, чтобы установить, имела ли место ошибка.
Функция fgets читает строку из параметра входного потока и хранит её в строке. fgets читает символы от текущей потоковой позиции до конца потока байтов и включает в себя первый символ новой строки, или до тех пор, пока число прочитанных символов не будет равно n – 1, что бы не было на первом месте. Результат, сохраненный в строке, добавляется в конец с нулевым символом. Символ новой строки, если прочитано, включается в строку.
fgetws - широкосимвольная версия fgets.
fgetws читает широкосимвольный параметр string как строку, состоящую из многобайтовых символов или широкосимвольную строку согласно тому, открыт ли поток байтов в текстовом режиме или режиме двоичного счета, соответственно. Дополнительную информацию об использовании режимов текста и двоичного счета в Unicode и мультибайтовом "потоковом вводе - выводе", см. в статьях Файловый ввод-вывод (I/O) в режиме текста и двоичного счета и Ввод - вывод (I/O) потока байтов в Unicode в режимах текста и двоичного счета .
СтандартныйTCHAR.H | _UNICODE & _MBCS не определен | _MBCS определен | _UNICODE определен |
---|---|---|---|
_fgetts | fgets | fgets | fgetws |
Функция |
Требуется заголовочный файл |
Совместимость |
---|---|---|
fgets | <stdio.h> | ANSI, Win 98, Win Me, Win NT, Win 2000, Win XP |
fgetws | <stdio.h> или <wchar.h> | ANSI, Win 98, Win Me, Win NT, Win 2000, Win XP |
Дополнительную информацию о совместимости, см. в статье Совместимость во Вводной части.
Все версии библиотек программ этапа выполнения языка C.
// crt_fgets.c /* Эта программа использует fgets чтобы показать * строку из файла на экране. */ #include <stdio.h> int main( void ) { FILE *stream; char line[100]; if( (stream = fopen( "crt_fgets.txt", "r" )) != NULL ) { if( fgets( line, 100, stream ) == NULL) printf( "fgets error\n" ); else printf( "%s", line); fclose( stream ); } }
|
Потоковые процедуры ввода - вывода (I/O) | fputs | gets | puts | Процедуры периода выполнения программы и эквиваленты .NET Framework