Synopsis
#include <stdarg.h> type va_arg(va_list ap, type);
Description
va_arg
returns the next unprocessed value from a variable
argument list ap (which you must previously create with
va_start). Specify the type for the value as the second parameter
to the macro, type.
You may pass a va_list
object ap to a subfunction, and use
va_arg
from the subfunction rather than from the function
actually declared with an ellipsis in the header; however, in that case
you may only use va_arg
from the subfunction. ANSI C does
not permit extracting successive values from a single variable-argument
list from different levels of the calling stack.
There is no mechanism for testing whether there is actually a next argument available; you might instead pass an argument count (or some other data that implies an argument count) as one of the fixed arguments in your function call.
Returns
va_arg
returns the next argument, an object of type type.
Portability
ANSI C requires va_arg
.