Bootstrap

snprintf(),_snprintf,vsnprintf,fprintf,sprintf

snprintf()函数的格式跟printf差不多一样,是在c里面用的函数,包含在 #include <stdio.h>头文件中。

但snprintf()函数并不是标准c/c++中规定的函数,所以在许多编译器中,厂商提供了其相应的实现的版本。在gcc中,该函数名称就snprintf(),而在VS中称为_snprintf。 所以在需要使用snprintf()时改成_snprintf就可以了,或则在预编译处加入:

#if _MSC_VER

#define snprintf _snprintf

#endif

二、返回值  ( Return value)

即如果成功,返回打印字符的个数,不包含结束字符串打印的'/0'。

函数snprintf() 和vsnprintf() 不能写入超过第二个参数定义的size bytes(包括字符串结束符'\0')到str,如果输出因为这个限制被截断,得到的返回值是打印到str的字符串个数(不包括字符串结束符'\0')。如果有足够buffer空间可用,这个字符串会一直打印显示,直到最后字符串最后。

如果遇到输出错误,会返回一个负值(a negative value)。

 

三、关联func

 

int printf(const char *format,  ...);
int fprintf(FILE *stream,  const char *format,  ...);
int sprintf(char *str,  const char *format,  ...);
int snprintf(char *str,  size_t size,  const char *format,  ...);

 

//头文件位于stdarg.h中

int vprintf(const char *format,  va_list  ap);
int vfprintf(FILE *
stream,  const char *format,  va_list ap);
int vsprintf(char *
str,  const char *format,  va_list  ap);
int vsnprintf(char *
str,  size_t size,  const char *format,  va_list  ap);

这是一系列带V开头的打印函数

 

;