vscanf()

Считать ввод из стандартного потока ввода (varargs)

Прототип:

#include <stdio.h>
#include <stdarg.h>
int vscanf( const char *format,
va_list args );

Аргументы:

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

Библиотека:

libc

Описание:

Функция vscanf() считывает данные в соответствии с format из стандартного потка ввода stdin.

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

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

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

Коды ошибок:

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

Примеры:

#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
void find( char *format, ... )
{
va_list arglist;
va_start( arglist, format );
vscanf( format, arglist );
va_end( arglist );
}
int main( void )
{
int day, year;
char weekday[10], month[12];
ffind( "%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(), vfscanf(), vfwscanf(), vsscanf(), vswscanf(), vwscanf(), wscanf()




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