您的位置:首页 > Web前端

有关va_list和vsnprintf输出函数的问题

2007-10-18 14:54 260 查看
/*
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); //在我的机器上vsnprintf函数前必须加_,不然编译会出错

va_end(argptr);

return(cnt);

  }

  int main(void)

  {

int inumber = 30;

float fnumber = 90.0;

char string[4] = "abc";

vspf("%25d %25f %25s", inumber, fnumber, string);

printf("%25s/n", buffer);

return 0;

  }

本文转自

http://www.cublog.cn/u/22878/showart_201409.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  list buffer string float