网 logo

_vsnprintf

_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下调试通过。

参考资料