【发布时间】:2017-07-19 18:11:26
【问题描述】:
我有一个 C 代码,其中有这一行。
sprintf_s(var, outfile_ppm, local_filecounter++);
这里,var 是 char* 类型,local_filecounter 是 int 类型。
当我运行代码时,它给了我这个警告:
警告:函数“sprintf_s”的隐式声明在 C99 [-Wimplicit-function-declaration] 中无效
这是什么警告,我该如何消除它?
【问题讨论】:
-
“我怎样才能摆脱它?” --> 不要使用
sprintf_s()发布似乎需要它的代码以查看替代方案。 -
这个
sprintf_s函数到底是什么,你从哪里得到的?包含正确的标题,警告就会消失。 -
@DietrichEpp 那里也不需要
#define __STDC_WANT_LIB_EXT1__ 1吗? -
标准 C99 没有
sprintf_s()。 C11 可以包含它。其他版本可能会将其作为某种形式的扩展。 -
@AnttiHaapala:根据标准,是的。但是,我不知道宏实际上具有这种效果的任何实现。