char型配列に数値を入れるには

[戻る]
MM 2005/07/20(水) 17:35:05
char型配列に数値を直接入れたい場合どのようにしたらいいのでしょうか?

Blue 2005/07/20(水) 17:42:46
char a[ 3 ];
a[ 1 ] = 1;
a[ 2 ] = 2;

または

char a[ 3 ] = "\x01\x02";
// これだと終端文字が入る

という意味ではなく?

Blue 2005/07/20(水) 17:45:03
> char a[ 3 ];
> a[ 1 ] = 1;
> a[ 2 ] = 2;
インデックスミスってた。
これだと上と下は同じ結果にならないですね。
char a[ 3 ] = { 0 };
a[ 0 ] = 1;
a[ 2 ] = 2;

Blue 2005/07/20(水) 17:45:54
> a[ 2 ] = 2;
a[ 1 ] = 2;

...orz 中止押したけど間に合わんかった。。。

Qoo 2005/07/20(水) 19:27:22
とりあえずsprintf(s,"%d",数字);
とかいう手を使うと数字を文字列として入れることは出来ると思います。
今度は文字列としての数字を数値に変換するれば再び数値として使えるんじゃないでしょ
うか?
変換の仕方は調べればすぐに出てくると思います。
普段使わないのでどんな方法だったか忘れました^^;

Qoo 2005/07/20(水) 19:28:55
あ、

char s[10];  // カッコ内はテキトーです

の宣言忘れてました。

Blue [E-Mail] 2005/07/20(水) 20:27:38
> 変換の仕方は調べればすぐに出てくると思います。
sscanf,atoi,strtol,自力
ぐらいですか。

質問が '数値を直接入れたい' なので文字列(文字コード列)が直接なのか微妙。

Qoo 2005/07/21(木) 09:01:29
>質問が '数値を直接入れたい' なので文字列(文字コード列)が直接なのか微妙。
確かにそうですね^^;
どういう風に利用したいから文字列に数字を入れたい、等
状況をもう少し書いていただけたら的を射たアドバイスができるのですけど…汗

古いスレッドには追加発言できません。