Man pages на русском

         

VPRINTF(3S)


НАЗВАНИЕ

vprintf, vfprintf, vsprintf - форматный вывод списка аргументов, заданного по правилам varargs

СИНТАКСИС

#include <stdio.h>

#include <varargs.h>

int vprintf (format, ap) char *format; va_list ap;

int vfprintf (stream, format, ap) FILE *stream; char *format; va_list ap;

int vsprintf (s, format, ap) char *s, *format; va_list ap;

ОПИСАНИЕ

Функции vprintf, vfprintf, vsprintf эквивалентны функ- циям printf, fprintf, sprintf соответственно, но вместо явного списка аргументов переменной длины им передается список, заданный по правилам .

ПРИМЕР

В следующем примере показано, как можно использовать vfprintf для вывода диагностики.

#include <stdio.h>

#include <varargs.h>

... /* Вызов подпрограммы диагностики должен выглядеть так: error(имя_функции, формат, арг1, арг2 ...); */ /*VARARGS*/ void error (va_alist) /*

Отметим, что аргументы имя_функции и формат не могут быть продекларированы отдельно в силу определения varargs.

*/ va_dcl { va_list args; char *fmt;

va_start(args) /* Печать имени функции, вызвавшей ошибку */ (void) fprintf (stderr, "ERROR in %s: ", va_arg(args,char *)); fmt = va_arg(args, char *); /* Печать оставшейся части сообщения */ (void) vfprintf (stderr, fmt, args); va_end(args); (void) abort (); }

СМ. ТАКЖЕ

, .

Comments: info@citmgu.ru

Designed by Andrey Novikov

Copyright © CIT



Содержание раздела