atol(3) 文字列を整数型に変換する

Other Alias

atoi, atoll, atoq

書式

#include <stdlib.h>


int atoi(const char *nptr);
long atol(const char *nptr);
long long atoll(const char *nptr);
long long atoq(const char *nptr);

glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照):

atoll():

_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L;
または cc -std=c99

説明

atoi() 関数は、nptr によって指示される文字列のはじめの部分を int 型整数に変換する。 この振る舞いは、 atoi() 関数がエラーを見つけない点以外は、

strtol(nptr, NULL, 10);

と同じである。

atol() 関数と atoll() 関数は atoi() と同様の振る舞いをするが、 文字列のはじめの部分をそれぞれ longlong long に変換する。 atoq() は atoll() の古い名前である。

返り値

変換された値。

属性

マルチスレッディング (pthreads(7) 参照)

関数 atoi(), atol(), atoll() は、例外付きのスレッドセーフである。実行中に setlocale(3) を呼び出してロケールを変更しない限り、マルチスレッドアプリケーションで安全に使用することができる。

準拠

SVr4, POSIX.1-2001, 4.3BSD, C99. C89 と POSIX.1-1996 には atoi() と atol() だけが含まれている。 atoq() は GNU による拡張である。

注意

非標準である atoq() 関数は libc 4.6.27 や glibc 2 には含まれていないが、 libc5 と libc 4.7 には存在している (ただし libc 5.4.44 までは <stdlib.h> のインライン関数のみである)。 atoll() 関数は glibc 2 のバージョン 2.0.2 から存在しているが、 libc4 や libc5 には存在しない。

この文書について

この man ページは Linux man-pages プロジェクトのリリース 3.65 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。