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

概要

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

変換された後の数値がlongの範囲に収まらない(結果がlongで表現できない)場合、C99やC11の仕様上は未定義動作 (undefined behavior) を引き起こす。また、変換に失敗してもerrnoを書き換えないかもしれない。このため、atolの使用を禁止しているガイドラインも存在する。

正常に変換可能な文字列の場合は strtol(s, NULL, 10) と同じ結果を返す。

形式

脚注

関連項目

  • atoi
  • atof
  • itoa

外部リンク

  • atol(3) – JM Project Linux Library Functions マニュアル
  • atoi, atol, atoll - cppreference.com

Atol Binnenvaart in Beeld

ATOL Protection North America Travel Service

Atol Atol Atol Murf/Murw

Special Pilgrimages Ltd ATOL 2963 ATOL

Atol