fscanf()

Сканировать ввод из потока

Прототип:

#include <stdio.h>
int fscanf( FILE *fp,
const char *format,
... );

Аргументы:

fp
Поток, из которого необходимо читать.
format
Строка, определяющая формат ввода. Для дополнительной информации смотрите scanf(). Строка формата определяет, какие дополнительные аргументы нужно передать в функцию.

Библиотека:

libc

Описание:

Функция fscanf() сканирует ввод из потока, определяемого fp, с учетом аргумента format.

Возвращаемое значение:

Количество входных аргументов, значение которых было успешно считано и сохранено.

Если возникла ошибка или достигнут конец файла, функция возвращает EOF, код ошибки записывается в errno.

Примеры:

Считать дату в формате “Friday March 26 1999”:

#include <stdio.h>
#include <stdlib.h>
int main( void )
{
int day;
int year;
char weekday[10];
char month[10];
FILE *in_data;
in_data = fopen( "file", "r" );
if ( in_data != NULL )
{
fscanf( in_data, "%s %s %d %d", weekday, month,
&day, &year );
printf( "Weekday=%s Month=%s Day=%d Year=%d\n",
weekday, month, day, year );
fclose( in_data );
return (EXIT_SUCCESS);
}
return (EXIT_FAILURE);
}

Классификация:

ANSI, POSIX 1003.1

Безопасность использования
Точка остановки потока
Да
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да

Тематические ссылки:

errno, fwscanf(), scanf(), sscanf(), swscanf(), vfscanf(), vfwscanf(), vscanf(), vsscanf(), vswscanf(), vwscanf(), wscanf()




Предыдущий раздел: Описание API системной библиотеки