_vsnprintf是C语言库函数之一,属于可变参数。用于向字符串中打印数据、数据格式用户自定义。头文件是#include 。
函数简介
头文件:
#include \u003cstdarg.h\u003e
函数声明:
int _vsnprintf(char* str, size_t size, const char* format, va_list ap);
参数说明
char *str [out],把生成的格式化的字符串存放在这里.
va_list ap [in], va_list变量. va:variable-argument:可变参数
1.
char *str [out],把生成的格式化的字符串存放在这里.
2.
size_t size [in], str可接受的最大字符数 (非字节数,UNICODE一个字符两个字节),防止产生数组越界.
3.
const char *format [in], 指定输出格式的字符串,它决定了你需要提供的可变参数的类型、个数和顺序。
4.
va_list ap [in], va_list变量. va:variable-argument:可变参数
函数功能:将可变参数格式化输出到一个字符数组。
用法类似于vsprintf,不过加了size的限制,防止了内存溢出(size为str所指的存储空间的大小)。
返回值:执行成功,返回最终生成字符串的长度,若生成字符串的长度大于size,则将字符串的前size个字符复制到str,同时将原串的长度返回(不包含终止符);执行失败,返回负值,并置errno.
备注:
Linux环境下是:vsnprintf
VC6环境下是:_vsnprintf
用法实例
输出 9。
asd,2,3,4
123456789 (共9个字符,间隔符逗号计算在内)
返回值用法
代码在vc6.0下调试通过。