整数サイズの 100 000 を char 配列の 4 つの要素に入れる方法はありますか? sprintf または itoa を使用すると、配列は 6 つの要素を持ちます。私はこれを使用しようとしましたが、うまくいきませんでした。これらの 4 つの要素を整数に戻す方法はありますか?
char *s;
int value = 100000;
*((int *)s)=value;
ご了承ください:
int value = 100000;
char *s;
*((int *)s)=value;
初期化されていないポインタs
を逆参照するため、未定義の動作が発生します。あなたがすることができます:
int value = 100000;
char s[4];
*((int *)&s[0])=value;
これは、文字列 (数値を表す文字) の形式で値を出力するvalue
とは異なり、(メモリ レベルで) charr 配列によって「占有された」メモリ ブロックに格納されることに注意してください。sprintf