編譯環境爲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