2

在我的程序中,我尝试将 int 转换为 char[20];

我尝试通过以下方式执行此操作:

  char str[20];    
  sprintf(str, "%d", timer);

其中计时器是int。

但是当我构建此代码时,我收到以下警告。

Type implicit declaration of function 'sprintf' [-Wimplicit-function-declaration]   
incompatible implicit declaration of built-in function 'sprintf' [enabled by default]   

这意味着什么?

注意:(我已经包含了 string.h 和 stdlib.h)。


太好了,我将 stdio.h 添加到我的代码中,现在警告消失了,只是给了我一个更严重的错误。

对“_sbrk”的未定义引用

4

3 回答 3

3

你必须#include <stdio.h>使用sprintf()

于 2013-02-07T14:30:52.880 回答
2

您要确保还添加了对

stdio.h
看到这个参考

于 2013-02-07T14:33:34.787 回答
0

您可能需要放入sprintf(str, "%d", timer)一个函数(而不是源代码的全局部分)。

就像是:

#include <stdlib.h>
char str[20];
// SPOT #1
int f() {
    sprintf(str, "%d", timer); // this won't work if placed on SPOT #1
}
于 2013-02-07T14:28:25.907 回答