不幸的是,我在一个项目中使用VS2010,并注意到以下代码仍然不能使用非标准兼容的编译器构建:
#include <stdio.h>
#include <stdlib.h>
int main (void)
{
char buffer[512];
snprintf(buffer, sizeof(buffer), "SomeString");
return 0;
}
(编译失败,错误为: C3861:'snprintf':未找到标识符)
我记得很久以前VS2005就是这种情况,我很震惊地看到它仍然没有得到修复。
有没有人知道微软是否有计划将他们的标准C库迁移到2010年?
发布于 2010-05-27 02:31:42
发布于 2015-10-28 19:31:34
如果不需要返回值,也可以将snprintf定义为_snprintf_s
#define snprintf(buf,len, format,...) _snprintf_s(buf, len,len, format, __VA_ARGS__)
发布于 2010-05-27 02:29:37
我相信视窗的等价物是sprintf_s
https://stackoverflow.com/questions/2915672
复制相似问题