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

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
わんわん

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

#1

投稿記事 by わんわん » 15年前

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;
とかは試しましたがダメでした。。。

sizuma

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

#2

投稿記事 by sizuma » 15年前

標準ライブラリにatoiという関数がありますよ。
http://www.cppll.jp/cppreference/stdstring.html

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

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

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

わんわん

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

#3

投稿記事 by わんわん » 15年前

そういえばこんな関数もありましたね。

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

わんわん

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

#4

投稿記事 by わんわん » 15年前

解決チェックわすれました

閉鎖

“C言語何でも質問掲示板” へ戻る