我可以在C程序中使用cstdio吗?

时间:2010-05-12 00:37:38

标签: c include

当我添加#include <cstdio>时,我在cstdio中遇到了大量错误 到C程序。

c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\cstdio(17) : error C2143: syntax error : missing '{' before ':'
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\cstdio(17) : error C2059: syntax error : ':'

由于

编辑 - 我想使用 snprintf ,这就是我尝试将其包含在内的原因。

3 个答案:

答案 0 :(得分:7)

你想要#include <stdio.h>cstdio是C头的C ++包装器。

编辑: MSVC仅支持C99中构成C ++子集的元素。

This site具有根据GPL许可的snprintf() C实现。

答案 1 :(得分:1)

使用Visual Studio,我相信你必须使用sprintf_s或类似的东西。请参阅this.还有vsnprintf

答案 2 :(得分:1)

MSVC在stdio.h中提供_snprintf功能。

如果您不想使用前导下划线,您可以:

#include <stdio.h>
#define snprintf _snprintf

这是一个C库函数,与C ++没有特别的关系(尽管你也可以在那里使用它)。