vsprintf()-Windows程序设计

 

 1  #include  < stdarg.h >   
 2  #include  < stdio.h >  
 3  #include < stdlib.h >  
 4  char  buffer[ 80 ];  
 5  int  vspf( char   * fmt, ...)  
 6  {  
 7      va_list argptr;  
 8       int  cnt;  
 9      va_start(argptr, fmt);  
10      cnt  =  vsprintf(buffer, fmt, argptr);  
11      va_end(argptr);  
12       return (cnt);  
13  }  
14  int  main( void )  
15  {  
16       int  inumber  =   30 ;  
17       float  fnumber  =   90.0 ;  
18       char   string [ 4 =   " abc " ;  
19      vspf( " %d %f %s " , inumber, fnumber,  string );  
20      printf( " %s\n " , buffer);  
21      getch(); 
22       return   0 ;  
23 
输出为30 90.000000 abc
解释:
宏:va_list,va_start(),va_end()包含在#include <stdarg.h> 里
va_lists用于声明一个指向参数的指针.
va_start(argptr, fmt); 初始换这个指针,是指向fmt这个固定参数(fmt)后面开始的可变参数(...).
va_end宏结束可变参数的获取.
系统函数vsprintf(buffer, fmt, argptr)用于向buffer指定的串缓冲区写入以*fmt为格式化,以argptr为参数首址的数据。

 

 

转载于:https://www.cnblogs.com/stli/archive/2010/07/25/1784917.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值