atoi (ASCII to Integer) は、文字列を整数型に変換するC言語の標準Cライブラリの関数。標準ヘッダーファイル <stdlib.h> で宣言されている。読み方は規格では特に定められていない。
概要 引数で与えられた文字列を解析し、文字列先頭の連続する10進数整数部分を型の整数に変換する。例えば、引数に"123abc"を与えると戻り値として123を返し、"-5"なら-5を返す。"abc"や""(空文字列)など変換不可能な文字列の場合、0を返す。
変換された後の数値がの範囲に収まらない(結果がで表現できない)場合、C99やC11の仕様上は未定義動作 (undefined behavior) を引き起こすISO/IEC 9899:1999 / §7.20.1 Numeric conversion functionsISO/IEC 9899:201x Programming languages — C / §7.22.1 Numeric conversion functions。また、変換に失敗してもerrnoを書き換えないかもしれない。このため、atoiの使用を禁止しているガイドラインも存在するINT06-C. 文字列トークンを整数に変換するには strtol() 系の関数を使う。
正常に変換可能な文字列の場合は と同じ結果を返す。
形式 #include <stdlib.h> int atoi(const char *nptr);
脚注 注釈
出典
関連項目
atof atol itoa
外部リンク
atoi, atol, atoll - cppreference.com