フォーマット
#include <stdlib.h> int atoi(const char *string);
言語レベル: ANSI
スレッド・セーフ: はい。
ロケール依存: この関数の振る舞いは、 現行ロケールの LC_CTYPE カテゴリーの影響を受ける可能性があります。 詳細については、CCSID およびロケールの理解を参照してください。
説明
atoi() 関数は、文字ストリングを整数値に変換します。入力データ string は、指定した戻りの型の数値として解釈できる文字のシーケンスです。 関数によって、数値の一部として認識できない入力ストリングは、先頭文字 のところで読み取りが停止されます。この文字は、ストリングを終了するヌル文字が可能です。
atoi() 関数は、小数点または指数を認識しません。この関数の string 引数の形式は次のとおりです。
ここで、whitespace は、複数のスペースやタブなどの、isspace() 関数に対して true である同じ文字で構成されます。atoi() 関数は、最初の空白文字を無視します。 値 digits は、1 桁以上の小数桁数です。
戻り値
atoi() 関数は、入力文字を数字として解釈することにより作成される int 値を戻します。 関数が入力データをその型の値に変換できない場合は、戻り値は 0 です。 オーバーフローの場合、戻り値は予期できません。
atoi() の使用例
この例は、ストリングとして格納された数を、数値に変換する方法を示しています。
#include <stdlib.h> #include <stdio.h> int main(void) { int i; char *s; s = " -9885"; i = atoi(s); /* i = -9885 */ printf("i = %d¥n",i); } /******************* Output should be similar to: *************** i = -9885 */
関連情報