atoi() — 文字ストリングから整数への変換
フォーマット
#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 です。 オーバーフローの場合、戻り値は予期できません。
例
この例は、ストリングとして格納された数を、数値に変換する方法を示しています。
#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
*/
