vfscanf()

Считать ввод из файла (varargs)

Прототип:

#include <stdio.h>
#include <stdarg.h>
int vfscanf( FILE *fp,
const char *format,
va_list arg );

Аргументы:

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

Библиотека:

libc

Описание:

Функция vfscanf() считывает данные в соответствии с format из файла, на который указывает fp.

Функция vfscanf() является “varargs” версией функции fscanf().

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

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

Коды ошибок:

При возникновении ошибок, errno указывает на тип ошибки.

Примеры:

#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
void ffind( FILE *fp, char *format, ... )
{
va_list arglist;
va_start( arglist, format );
vfscanf( fp, format, arglist );
va_end( arglist );
}
int main( void )
{
int day, year;
char weekday[10], month[12];
ffind( stdin, "%s %s %d %d", weekday, month, &day, &year );
printf( "\n%s, %s %d, %d\n", weekday, month, day, year );
return (EXIT_SUCCESS);
}

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

ANSI, POSIX 1003.1

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

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

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




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