atoiって使ってますか?atoiは整数値の文字列型データをint型に変換する関数です。 たとえばテキストファイルから内容を読み込む際は、数値データも通常は文字列として読み込まれるので、その後の計算処理などに使用する場合は文字列型の整数値からint型に変換する必要があります。 C言語/Java > プログラミングTips > C言語28 文字列をint型に変換する atoi関数の自前処理例 atoi は、 に定義されている関数で、引数で渡された文字列を int型に変換して返します。 文字列の"0"〜"9"の値は文字コード上でが48〜57で、連続してるので48を引けば数値に変換できるということになります。, なので48で引きつつ、元の値を10倍していけば桁が上がっていくので辻褄が合います。, ただしループを抜けた時点では一つ桁が多いので10で割ってあげると数値化の完成ですね。, ただエラーに関しては何も考慮してないので"A"とかの文字列を渡すと変なことになるもしれません。, なので一応48から57までの数値以外の文字列が渡されたらそこで終了するように変更してみました。, と、ここまで書いててatoiの仕様を改めて確認したところ+や-といった符号もちゃんと変換してくれるということだったのでそれにも対応してみました。, pknightさんは、はてなブログを使っています。あなたもはてなブログをはじめてみませんか?, Powered by Hatena Blog | #include int atoi( const char *str ); 戻り値: int型に変換した数値。変換不能文字は0を返す。 と、ここまで書いててatoiの仕様を改めて確認したところ+や-といった符号もちゃんと変換してくれるということだったのでそれにも対応してみました。 【C言語】atoi関数|ato関数群(atoi, atol, atoll, atof)完全解説 atoi関数 文字列中の最初に出現する整数を数値に変換します。 ブログを報告する, http://www.geocities.jp/ky_webid/algorithm/020.htmlクイック…, http://www.geocities.jp/ky_webid/c/051.htmlなにやらまたもや…, http://www.geocities.jp/ky_webid/c/046.html列挙型というもの…, http://www.geocities.jp/ky_webid/c/044.htmlchar型からint型…. Cè¨èª æ¨æºé¢æ° | å¿ç¨ | ãµã³ãã«, #include int atoi( const char *str );â æ»ãå¤ï¼intåã«å¤æããæ°å¤ãå¤æä¸è½æåã¯0ãè¿ãã, æååã§è¡¨ç¾ãããæ°å¤ãintåã®æ°å¤ã«å¤æãããå¤æä¸è½ãªã¢ã«ãã¡ããããªã©ã®æååã®å ´åã¯0ãè¿ãããæ°å¤ãå
é ã«ããã°ãã®å¤ãè¿ãã, #include main() { int inum; char ptr[1]; inum = atoi( "123" ); printf( "inum=%d\n" , inum );/* 123 */ inum = atoi( "abc" ); printf( "inum=%d\n" , inum );/* 0 */ inum = atoi( "1a2b3c" ); printf( "inum=%d\n" , inum );/* 1 */ inum = atoi( "a7b8c9" ); printf( "inum=%d\n" , inum );/* 0 */ inum = atoi( "" ); printf( "inum=%d\n" , inum );/* 0 */ ptr[0] = '\0'; inum = atoi( &ptr[0] ); printf( "inum=%d\n" , inum );/* 0 */}.