macro
va_end
<cstdarg>
void va_end ( va_list ap );
End using variable argument list
Performs the appropiate actions to facilitate a normal return by a function that has used the
va_list object
ap to retrieve its additional arguments.
This macro should be executed before the function returns whenever
va_start has been previously used in that function.
Parameters
- ap
- va_list object previously initialized by va_start in the same function.
Return Value
none
Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
/* va_arg example */
#include <stdio.h>
#include <stdarg.h>
void PrintLines ( char* first, ...)
{
char* str;
va_list vl;
str=first;
va_start(vl,first);
do {
printf ("%s\n",str);
str=va_arg(vl,char*);
} while (str!=NULL);
va_end(vl);
}
int main ()
{
PrintLines ("First","Second","Third","Fourth",NULL);
return 0;
}
|
The
PrintLines function takes a variable number or arguments. The first argument passed becomes parameter
first, but the remaining are retrieved sequentially in the do-while loop using
va_arg until a null pointer is retrieved as the next argument.
See also
- va_start
- Initialize a variable argument list (macro)
- va_arg
- Retrieve next argument (macro)
- va_list
- Type to hold information about variable arguments (type
)