キャストを使用してCでintを「文字列」に変換することは可能ですか? atoi()
やsprintf()
?のような機能がなければ
私が欲しいのは次のようなものです:
int main(int argc, char *argv[]) {
int i = 500;
char c[4];
c = (char)i;
i = 0;
i = (int)c;
}
その理由は、2 つのランダムな int (0 から 500) を生成し、両方をメッセージ キュー内の 1 つの文字列として別のプロセスに送信する必要があるためです。他のプロセスはメッセージを受信し、LCM を実行します。
atoi()
と の使い方を知っていますitoa()
。しかし、私の先生はキャストを使いたがっています。
また、以下がコンパイルできないのはなぜですか?
typedef struct
{
int x;
int y;
} int_t;
typedef struct
{
char x[sizeof(int)];
char y[sizeof(int)];
} char_t;
int main(int argc, char *argv[])
{
int_t rand_int;
char_t rand_char;
rand_int.x = (rand() % 501);
rand_int.y = (rand() % 501);
rand_char = (char_t)rand_int;
}