vfprintf

Функция            Направляет в поток отформатированный вывод.

Синтаксис          #include 
                   int vfprintf(FILE *stream, char *format,
                                va_list arglist);

Файл, содержащий   stdio.h
прототип

Описание           Функция v...printf известна как дополнительная
                   точка входа для функций ...printf. Они ведут себя
                   точно также, как и их ...printf-двойники, но они
                   имеют доступ к указателю на список аргументов, а
                   не к самому аргументному списку.

                   vfprintf осуществляет доступ к указателю на серии
                   аргументов, применяет к каждому аргументу формат-
                   ную спецификацию, содержащуюся в строке формата,
                   на которую указывает format, и осуществляет вывод
                   отформатированных данных в поток. Число специфи-
                   каций формата должно быть равно числу аргументов.
                   Смотри в printf описание информации, включаемой в
                   спецификацию формата.

Возвращаемое       vfprintf возвращает число выведенных байтов. В
значение           случае ошибки vprintf возвращает EOF.

Переносимость      vfprintf поддерживается на UNIX System V, и сов-
                   местима с ANSI C.

Смотрите также      printf va_arg va_end va_start

Пример:

#include
#include

FILE *fp;

int vfpf(char *fmt, ...);
{
   va_list argptr;
   int cnt;
   va_start(argptr,format);
   cnt = vfprintf(fp,fmt,argptr);
   va_end(argptr);
   return cnt;
}

int main(void)
{
   int inumber = 30;
   float fnumber = 90;
   char string[4] = "abc";
   fp = tmpfile();
   if(fp == NULL)
   {
      perror("Вызов tmpfile");
      exit(1);
   }
   vfpf("%d %f %s",inumber,fnumber,string);
   rewind(fp);
   fscanf("%d %f %s\n",&inumber,&fnumber,string);
   printf("%d %f %s",inumber,fnumber,string);
   fclose(fp);
   return 0;
}