-5

重複の可能性:
Cで整数を文字列に変換する方法は?

C で int 値 i を取る関数があります。この i 値を文字列 (char *) に変換する必要があります。

これが私がこれまでに持っているものです:

char *str = (char *)i;
myfunction(str);

エラーが発生します: 異なるサイズの整数からポインターにキャストします。

ありがとう!

4

1 に答える 1

0

これは有効なコードではありません。コンパイル時のエラーを解決したとしても、実行時に何らかのメモリ アクセス エラーが発生する可能性があります。結果は、実際にどこを指しているのかわからない文字列へのポインタになります。そのため、プログラムがそのメモリにアクセスするとエラーが発生します。

あなたが本当に探しているのは のような関数だと推測しますitoa()。これが意味を成す唯一の方法です。

編集

新しいコメントに基づいて、実際には のような関数が必要であることがわかりましたitoa()。単に整数を文字列ポインタに変換しようとしても、望みどおりにはなりません。

char buff[80];

itoa(i, buff, 10);
myfunction(buff);
于 2013-01-27T02:30:55.973 に答える