C语言中 variable argument 可变参数用法
2016-08-11 17:28
260 查看
如果函数的形参不确定,C 函数可以使用可变参数定义,用3个点 '.' 表示(...),很多我们经常用到的 printf 等函数都是这种形式定义的如:
#include <stdio.h>
printf:
int printf(const char* format, ...);
sprintf:
int sprintf(char* str, const char* format, ...);
fprintf:
int fprintf(FILE* fp, const char* format, ...);
要定义自己的可变参数函数,需要包含<stdarg.h>,其中包含 va_list 和相关宏,具体点就3个宏 va_start,
va_end,va_arg,va 表示 variable argument
简单的可变参数的用法
void simpleprint(char *format, ...)
{
va_list arg; // 定义一个 va_list 变量
va_start(arg, format); // 指向可变参数的第一个参数
vprintf(format, arg); // 调用 vprintf 函数执行
va_end(arg); // 将 arg 置为 NULL
}
上面代码中用到了 vprintf 函数,关于这类函数介绍:
#include <stdarg.h>
vprintf:
vprintf(const char* format, va_list ap); // ap 指向第一个可变参数,功能和 printf 一样
vfprintf;
vfprintf(FILE* fp, const char* format, va_list ap); // 类似 fprintf
vsprintf:
vsprintf(char* str, const char* format, va_list ap); // 类似 sprintf
顶
#include <stdio.h>
printf:
int printf(const char* format, ...);
sprintf:
int sprintf(char* str, const char* format, ...);
fprintf:
int fprintf(FILE* fp, const char* format, ...);
要定义自己的可变参数函数,需要包含<stdarg.h>,其中包含 va_list 和相关宏,具体点就3个宏 va_start,
va_end,va_arg,va 表示 variable argument
简单的可变参数的用法
void simpleprint(char *format, ...)
{
va_list arg; // 定义一个 va_list 变量
va_start(arg, format); // 指向可变参数的第一个参数
vprintf(format, arg); // 调用 vprintf 函数执行
va_end(arg); // 将 arg 置为 NULL
}
上面代码中用到了 vprintf 函数,关于这类函数介绍:
#include <stdarg.h>
vprintf:
vprintf(const char* format, va_list ap); // ap 指向第一个可变参数,功能和 printf 一样
vfprintf;
vfprintf(FILE* fp, const char* format, va_list ap); // 类似 fprintf
vsprintf:
vsprintf(char* str, const char* format, va_list ap); // 类似 sprintf
顶
相关文章推荐
- C语言中 variable argument 可变参数用法
- C语言的函数重载与可变参数函数--variable argument in function
- C语言中可变参数的用法
- C语言中可变参数的用法
- C语言中可变参数的用法
- C语言中可变参数的用法,转
- C语言中可变参数的用法
- C语言中可变参数的用法
- C语言中可变参数的用法
- C语言中可变参数的用法(转载)
- C语言中可变参数的用法
- C语言中可变参数的用法
- C语言中可变参数的用法(转载)
- C语言中可变参数的用法
- C语言中可变参数的用法(转载)
- C语言中可变参数的用法(转载)
- C语言中可变参数的用法(转载)
- C语言中可变参数的用法[zz]
- C语言中可变参数的用法
- C语言中可变参数的用法