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

/*
 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值