C vsnprintf vsprintf snprintf
函数名:vsnprintf
原型:int _vsnprintf(char *buffer, size_t max_count, const char *format, va_list vArgList);
功能:类同vsprintf,加了max_count限制。
参数:
返回值:如果成功调用此函数,返回写到buffer中的字符的个数(不包括结尾的'\0')。snprintf和vsnprintf函数不能够写多于size大小(包括结尾的'0')的字节数。如果输出因为以上原因被截断,返回成功写入buffer的字符数(不包括结尾的'\0'),如果有足够的内存空间的话。所以,如果返回值等于size或者大于size,表示输出到buffer的字符被截断,如果输出过程中遇到错误,则返回一个负数。
函数名:vsprintf
原型:int vsprintf(char *string, char *format, va_list param);
功能:将param 按格式format写入字符串string中。
参数:va_list可变参数
返回值:正常情况下返回生成字串的长度(除去\0),错误情况返回负值。
函数名:snprintf
原型:int snprintf(char *str, size_t size, const char *format, ...);
功能:将可变个参数(...)按照format格式化成字符串,然后将其复制到str中,返回写入str中的字符串的长度,所以可以利用snprintf函数来提前获取需要的内存空间大小。
参数:
返回值:函数返回值:若成功则返回欲写入的字符串长度,若出错则返回负值。