编译环境为vs2010, 在vs2010中调用snprintf,代码如下:
snprintf(buf, sizeof(buf), "%d, %d", int1, int2);
在vs2010中编译,报告如下错误:
error C3861: “snprintf”: 找不到标识符
因为snprintf并不是C/C++中定义的标准函数,所以在许多编译器中,厂商提供了其相应的版本,
在GCC中,该函数名称就是snprintf, 而在vs中称为 _snprintf,
解决方法:
在调用snprintf中添加如下宏定义:
#ifdef _MSC_VER
#define snprintf _snprintf
#endif