atol() - atoll() — 文字ストリングの long 型整数または long long 型整数への変換
形式 (atol())
#include <stdlib.h>
long int atol(const char *string);形式 (atoll())
#include <stdlib.h>
long long int atoll(const char *string);言語レベル
ANSI
スレッド・セーフ
はい
ロケール依存
これらの関数の振る舞いは、現行ロケールの LC_CTYPE カテゴリーの影響を受ける可能性があります。 詳しくは、 CCSID とロケールについてを参照してください。
説明
atol() 関数は、文字ストリングを long 値に変換します。 atoll() 関数は、文字ストリングを long long 値に変換します。
入力データ string は、指定した戻りの型の数値として解釈できる文字のシーケンスです。 関数によって、数値の一部として認識できない入力ストリングは、先頭文字 のところで読み取りが停止されます。 この文字は、ストリングを終了するヌル文字が可能です。
atol() および atoll() 関数は、小数点または指数を認識しません。 この関数の string 引数の形式は次のとおりです。
ここで、 whitespace は、スペースやタブなど、 isspace() 関数が真である文字と同じ文字で構成されます。 atol() 関数と atoll() 関数は、先頭の空白文字を無視します。 値 digits は、1 桁以上の小数桁数です。
戻り値
atol() 関数と atoll() 関数は、入力文字を数値として解釈することによって生成される long または long long 値を返します。 関数が入力データをその型の値に変換できない場合は、戻り値は 0L です。 オーバーフローの場合、戻り値は予期できません。
例
この例は、ストリングとして格納された数を、数値に変換する方法を示しています。
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
long l;
char *s;
s = "98854 dollars";
l = atol(s); /* l = 98854 */
printf("l = %.ld\n",l);
}
/******************* Output should be similar to: ***************
l = 98854
*/