c语言vsprintf函数,vsprintf函数

Stephen Liu在C语言编程中,我们不可避免的要接触到可变参数函数,对于不支持函数多态的C语言来讲,使用可变参数和宏定义函数是变通的实现函数多态的好方法。在进一步涉及到可变参数函数之前,我们先来看看常用到的两个可变参数的典型,分别是vsprintf和sprintf。一、vsprintf函数Header Filestdio.hCategoryMemory and String Manipulation RoutinesPrototypeint vsprintf(char *buffer, const char *format, va_list arglist);int vswprintf(wchar_t *buffer, const wchar_t *format, va_list arglist);DescriptionWrites formatted output to a string.The v...printf functions are known as alternate entry points for the ...printf functions. They behave exactly like their ...printf counterparts, but they accept a pointer to a list of arguments instead of an argument list.vsprintf accepts a pointer to a series of arguments, applies to each a format specifier contained in the format string pointed to by format, and outputs the formatted data to a string. There must be the same number of format specifiers as arguments.Return Valuevsprintf returns the number of bytes output. In the event of error, vsprintf returns EOF.--对照翻译头文件stdio.h分类内存和字符串操作函数原型int vsprintf(char *buffer, const char *format, va_list arglist);int vswprintf(wchar_t *buffer, const wchar_t *format, va_list arglist);描述写格式化后的输出到一个字符串v..printf函数族是..print函数族的可替代函数,他们像..printf函数族一样操作,但是他们接受指向参数列表的指针而不是参数列表。vsprintf接受一个指向一系列可变参数的指针,提供给每一个参数一个包含在form中的格式化定义,并且输出格式化后的数据到一个字符串中,格式定义和参数数量必须相等。返回值vsprintf返回输出的字节数目,出错时返回EOF二、sprintf函数Header Filestdio.hCategoryMemory and String Manipulation RoutinesPrototypeint sprintf(char *buffer, const char *format[, argument, ...]);int swprintf(wchar_t *buffer, const wchar_t *format[, argument, ...]);DescriptionWrites formatted output to a string.Note: For details on format specifiers, see printf.sprintf accepts a series of arguments, applies to each a format specifier contained in the format string pointed to by format, and outputs the formatted data to a string.sprintf applies the first format specifier to the first argument, the second to the second, and so on. There must be the same number of format specifiers as arguments.Return ValueOn success, sprintf returns the number of bytes output. The return value does not include the terminating null byte in the count.On error, sprintf returns EOF.--对照翻译头文件:stdio.h头文件stdio.h分类内存和字符串操作函数原型int sprintf(char *buffer, const char *format[, argument, ...]);int swprintf(wchar_t *buffer, const wchar_t *format[, argument, ...]);描述写格式化后的输出到一个字符串注意:对于格式化定义规范,参看printfsprintf接受一系列参数,提供给每一个参数一个格式化定义,并且输出格式化数据到字符串sprintf提供给首个参数第一个格式化定义,第二个赋予次个格式化定义,格式化定义数量必须和参数数量一致返回值成功,返回输出的字节数量,返回值不包含终止null字节的字节数量错误,返回EOF 为了便于比较这两个函数的使用,下面给出一个程序片段:    char szBuffer[256];    sprintf(szBuffer, "welcome %d, %s", 1, "hi");    ShowMessage(szBuffer);    vsprintf(szBuffer, "welcome %d, %s", 1, "hi"); //

时间:2019-07-09

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值