vfprintf()

Записать вывод в файл (varargs)

Прототип:

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

Аргументы:

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

Библиотека:

libc

Описание:

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

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

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

>=0
Число записанных символов.
<0
Возникла ошибка. Код ошибки записан в errno.

Примеры:

#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
FILE *LogFile;
/* a general error routine */
void errmsg( const char *format, ... )
{
va_list arglist;
fprintf( stderr, "Error: " );
va_start( arglist, format );
vfprintf( stderr, format, arglist );
va_end( arglist );
if ( LogFile != NULL )
{
fprintf( LogFile, "Error: " );
va_start( arglist, format );
vfprintf( LogFile, format, arglist );
va_end( arglist );
}
}
int main( void )
{
LogFile = fopen( "error.log", "w" );
errmsg( "%s %d %s", "Failed", 100, "times" );
return (EXIT_SUCCESS);
}

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

ANSI, POSIX 1003.1

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

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

errno, fprintf(), fwprintf(), printf(), snprintf(), sprintf(), swprintf(), va_start(), vfwprintf(), vprintf(), vsnprintf(), vsprintf(), vswprintf(), vwprintf(), wprintf()




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