|
VPRINTF(3S)НАЗВАНИЕ СИНТАКСИС #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; ОПИСАНИЕ ПРИМЕР #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 (); } СМ. ТАКЖЕ |
|