atol
表示
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