- stdarg.h
-
Стандартная библиотека
языка программирования Сstdarg.h — заголовочный файл стандартной библиотеки языка программирования Си, предоставляющий средства для перебора аргументов функции, количество и типы которых заранее не известны.
Содержимое
stdarg.h
часто используют в функциях с произвольным количеством аргументов (к примеру, printf, scanf).Заголовочный файл определяет тип
va_list
и набор функций для операций над ним:va_start
,va_arg
,va_copy
(C99),va_end
.#include <stdarg.h> type va_arg(va_list ap, type); void va_copy(va_list dest, va_list src); void va_end(va_list ap); void va_start(va_list ap, parmN);
Макрос
va_start
служит для инициализации списка переменных аргументов и должен иметь соответствующий вызов va_end. Макросva_arg
используется для получения доступа к очередному аргументу, аva_copy
- для копирования объектов типаva_list
.[1]Пример
#include <stdio.h> #include <stdarg.h> #include <string.h> void var(char *format, ...) { va_list ap; va_start(ap, format); if(!strcmp(format, "%d")) { int x = va_arg (ap, int); printf ("You passed decimal object with value %d\n", x); } if(!strcmp(format, "%s")) { char *p = va_arg (ap, char *); printf ("You passed c-string \"%s\"\n", p); } va_end (ap); } int main(void) { var("%d", 255); var("%s", "test string"); return 0; }
Литература
- Брайан Керниган (Brian Kernigan), Деннис Ритчи (Dennis Ritchie) "Язык программирования C" ("The C programming language"). — второе. — Williams Publishing House. — 304 с. — ISBN 978-5-8459-0891-9
Примечания
Категория:- Стандартные библиотечные заголовки языка Си
Wikimedia Foundation. 2010.