atol
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/05/05 19:20 UTC 版)
atol (ASCII to Long Integer) は、文字列をC言語の長整数型に変換する標準Cライブラリの関数。標準ヘッダーファイル <stdlib.h>
で宣言されている。読み方は規格では特に定められていない。
概要
引数として与えられた文字列を解析し、文字列先頭の連続する10進数整数部分をlong
型の整数に変換する。例えば"123456789"
という文字列を与えると戻り値としてlong
型の123456789L
を返す。また"123456789abc"
を与えると123456789L
を返し、"123456abc789"
を与えると123456L
を返す。"abc"
や""
(空文字列)など変換不可能な文字列の場合、0L
を返す。
変換された後の数値がlong
の範囲に収まらない(結果がlong
で表現できない)場合、C99やC11の仕様上は未定義動作 (undefined behavior) を引き起こす[1][2]。また、変換に失敗してもerrno
を書き換えないかもしれない。このため、atol
の使用を禁止しているガイドラインも存在する[3]。
正常に変換可能な文字列の場合は strtol(s, NULL, 10)
と同じ結果を返す。
形式
#include <stdlib.h>
long atol(const char *nptr);
脚注
関連項目
外部リンク
atol(3)
– JM Project Linux Library Functions マニュアル- atoi, atol, atoll - cppreference.com
固有名詞の分類
- Atolのページへのリンク