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 に答える