有关va_list和vsnprintf输出函数的问题(可变参数)
2009-03-03 10:20
453 查看
va_list ap; //声明一个变量来转换参数列表
va_start(ap,fmt); //初始化变量
va_end(ap); //结束变量列表,和va_start成对使用
可以根据va_arg(ap,type)取出参数
已经经过调试成功的输出程序
#include<stdio.h>
#include <stdarg.h>
#define bufsize 80
char buffer[bufsize];
int vspf(char *fmt, ...)
{
va_list argptr;
int cnt;
va_start(argptr, fmt);
cnt = vsnprintf(buffer,bufsize ,fmt, argptr);
va_end(argptr);
return(cnt);
}
int main(void)
{
int inumber = 30;
float fnumber = 90.0;
char string[4] = "abc";
vspf("%d %f %s", inumber, fnumber, string);
printf("%s/n", buffer);
return 0;
}
va_start(ap,fmt); //初始化变量
va_end(ap); //结束变量列表,和va_start成对使用
可以根据va_arg(ap,type)取出参数
已经经过调试成功的输出程序
#include<stdio.h>
#include <stdarg.h>
#define bufsize 80
char buffer[bufsize];
int vspf(char *fmt, ...)
{
va_list argptr;
int cnt;
va_start(argptr, fmt);
cnt = vsnprintf(buffer,bufsize ,fmt, argptr);
va_end(argptr);
return(cnt);
}
int main(void)
{
int inumber = 30;
float fnumber = 90.0;
char string[4] = "abc";
vspf("%d %f %s", inumber, fnumber, string);
printf("%s/n", buffer);
return 0;
}
相关文章推荐
- 有关va_list和vsnprintf输出函数的问题(可变参数)
- 有关va_list和vsnprintf输出函数的问题
- 有关va_list和vsnprintf输出函数的问题
- 可变参数函数分析(va_list,va_start(),va_end())
- 关于C中函数的可变参数va_list...(转)
- C语言利用va_list、va_start、va_end、va_arg宏定义可变参数的函数
- 如何获取函数的可变参数(va_list, va_start, va_arg, va_end)
- 可变参数函数printf的实现(不使用va_list等内置宏定义)
- va_list(可变参数函数的使用)
- va_list,va_start,va_end处理不定参数函数调用不定参数函数的问题
- 可变参数函数说明,va_list ,va_start,va_arg,va_end用法
- 可变参数函数的使用:va_start() , va_end() , va_list
- 利用va_list向拥有可变参数函数传入可变的参数
- C语言利用va_list、va_start、va_end、va_arg宏定义可变参数的函数
- 可变参数列表的函数调用 va_list va_start va_arg va_end
- va_start,va_arg,va_end,va_list应用举例--实现可变参数的函数
- 函数可变参数深入分析之va_list、va_start、va_arg、va_end
- 关于C中函数的可变参数va_list...
- va_list、va_start、va_end(用于实现函数参数的个数可变的函数,如scanf()/printf()系列函数)
- 如何把va_list可变参数传送到下一级函数中(如传送到printf)