Функция fgets, fgetws


Получает строку из потока  байтов.

Синтаксис

char *fgets( 
   char *string,
   int n,
   FILE *stream 
);
wchar_t *fgetws( 
   wchar_t *string,
   int n,
   FILE *stream 
);

 

Параметры

string

Место хранения для данных.

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 );
   }
}

Ввод : crt_fgets.txt

Line one.
Line two.

Вывод

Line one.

 

Смотри также

Потоковые процедуры ввода - вывода (I/O) | fputs | gets | puts | Процедуры периода выполнения программы и эквиваленты .NET Framework

Назад в оглавление
На главную страницу
В оглавление справки

Hosted by uCoz