2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

#c言語でchar型からint型への変換(何桁でも可)

Last updated at Posted at 2019-06-05

##経緯
c言語が学校で必要になったので学んでたら、charからintに変換するのにググってもいまいち出なかったのでメモ書き。

##方法

atoi(文字列);

###例

char str[]="1234";
printf("str*10=%d",atoi(str)*10); 

実行結果:

str*10=12340

##ちょっとした感想
検索した時に「-'0'」っていうのが真っ先に出て来たけど、atoiについてはあまり出てこなかった。c言語初心者だから詳しいことは分からないけど、atoiを使わない方が良い理由とかあるのかな。。

##追記
atoiは使わない方が良いことが分かりました。(コメントして下さった皆様有り難うございます)atoiではオーバーフロー、アンダーフローの検知が出来ないようです。その代わり、検知できる関数としてstrtolがあるようなので書いておこうと思います。

##方法(long型への変換なのでint型にしたい人は個々でキャストして下さい)

strtol(文字列,変換終了した位置,基数);

###例

char str[]="1234";
printf("str*10=%d",strtol(str,NULL,10)*10);

実行結果:

str*10=12340
2
3
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?