ページ 11

文字列の数字を整数に。。。

Posted: 2010年4月23日(金) 22:40
by わんわん
char型の配列にscanfI()で文字列を入力します。

char array[256];
scanf("%s",&array);

このようにして文字列を「1523」などと入力した場合、
array[0] => 1
array[1] => 5
array[2] => 2
array[3] => 3
となると思うのですが、この配列arrayをintの整数にしたいのです。

printf("%s",array);
この出力と
printf("%d",i);
この出力を同じにするにはどうすればいいですか?

最初から
scanf("%d",&i);
にすればいいだけの話かもしれませんが、
あくまで型のキャストということでお願いします。

i = (int)array;
とかは試しましたがダメでした。。。

Re:文字列の数字を整数に。。。

Posted: 2010年4月23日(金) 23:00
by sizuma
標準ライブラリにatoiという関数がありますよ。
http://www.cppll.jp/cppreference/stdstring.html

こういう誰でも必要としそうな処理はとりあえずライブラリから探すといいです。
勉強なら自分でアルゴリズムを考えてもいいですけどね。

>i = (int)array;
ポインタを十分理解されていないようです。
・・・僕も初心者なので偉そうなことはいえませんけどね。

arrayはあくまでポインタです。
intやchar型のように値を表すのではないのでint型には変えられません。
C++では強引に変える方法があるようですが、Cではあったかな?
とにかくポインタと値をごっちゃにしてはだめです。
画像

Re:文字列の数字を整数に。。。

Posted: 2010年4月23日(金) 23:07
by わんわん
そういえばこんな関数もありましたね。

ありがとうございました。

Re:文字列の数字を整数に。。。

Posted: 2010年4月23日(金) 23:07
by わんわん
解決チェックわすれました