Atol

atol (ASCII to Long Integer) は、文字列をC言語の長整数型に変換する標準Cライブラリの関数。標準ヘッダーファイル <stdlib.h>で宣言されている。読み方は規格では特に定められていない。

 概要 
引数として与えられた文字列を解析し、文字列先頭の連続する10進数整数部分を型の整数に変換する。例えば"123456789"という文字列を与えると戻り値として型の123456789Lを返す。また"123456789abc"を与えると123456789Lを返し、"123456abc789"を与えると123456Lを返す。"abc"や""（空文字列）など変換不可能な文字列の場合、0Lを返す。

変換された後の数値がの範囲に収まらない（結果がで表現できない）場合、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を書き換えないかもしれない。このため、atolの使用を禁止しているガイドラインも存在するINT06-C. 文字列トークンを整数に変換するには strtol() 系の関数を使う。

正常に変換可能な文字列の場合は  と同じ結果を返す。

 形式 
#include <stdlib.h>
long atol(const char *nptr);

 脚注 

 関連項目 

atoi
atof
itoa

 外部リンク 

 atoi, atol, atoll - cppreference.com

Category:標準Cライブラリ