atoll、_atoll_l、_wtoll、_wtoll_latoll, _atoll_l, _wtoll, _wtoll_l

文字列に変換をlong long整数。Converts a string to a long long integer.

構文Syntax

long long atoll(
   const char *str
);
long long _wtoll(
   const wchar_t *str
);
long long _atoll_l(
   const char *str,
   _locale_t locale
);
long long _wtoll_l(
   const wchar_t *str,
   _locale_t locale
);

パラメーターParameters

strstr
変換対象の文字列。String to be converted.

localelocale
使用するロケール。Locale to use.

戻り値Return Value

各関数を返します、long long入力文字を数字として解釈することによって生成される値。Each function returns the long long value that's produced by interpreting the input characters as a number. Atollの戻り値は、入力をその型の値に変換できない場合は0になります。The return value for atoll is 0 if the input cannot be converted to a value of that type.

大きな正の整数値によるオーバーフローの場合、 atollLLONG_MAXを返し、負の整数値が大きいオーバーフローの場合はLLONG_MINを返します。For overflow with large positive integral values, atoll returns LLONG_MAX, and for overflow with large negative integral values, it returns LLONG_MIN.

範囲外のすべての場合、 errnoERANGEに設定されます。In all out-of-range cases, errno is set to ERANGE. 渡されたパラメーターがNULLの場合は、「パラメーターの検証」で説明されているように、無効なパラメーターハンドラーが呼び出されます。If the parameter that's passed in is NULL, the invalid parameter handler is invoked, as described in Parameter Validation. 実行の継続が許可された場合、これらの関数はerrnoEINVALに設定し、0を返します。If execution is allowed to continue, these functions set errno to EINVAL and return 0.

RemarksRemarks

これらの関数は文字の文字列を変換、long long整数値。These functions convert a character string to a long long integer value.

入力文字列は、指定された型の数値として解釈できる文字シーケンスです。The input string is a sequence of characters that can be interpreted as a numerical value of the specified type. 関数は、数値の一部として認識できない文字に最初に遭遇した時点で入力文字列の読み取りを停止します。The function stops reading the input string at the first character that it cannot recognize as part of a number. この文字は、文字列を終了する null 文字 ('\0' または L'\0') である場合があります。This character might be the null character ('\0' or L'\0') that terminates the string.

Atollstr引数の形式は次のとおりです。The str argument to atoll has the following form:

[空白][sign][数字][whitespace] [sign] [digits]

空白はスペースまたはタブ文字で構成され、無視されます。signは正符号 (+) またはマイナス記号 (-) です。と数字は、1桁以上の数字です。A whitespace consists of space or tab characters, which are ignored; sign is either plus (+) or minus (-); and digits are one or more digits.

_wtollは、ワイド文字列をパラメーターとして受け取る点を除いて、 atollと同じです。_wtoll is identical to atoll except that it takes a wide character string as a parameter.

_Lサフィックスが付いているこれらの関数のバージョンは、現在のロケールの代わりに渡されたロケールパラメーターを使用する点を除いて、このサフィックスが付いていないバージョンと同じです。The versions of these functions that have the _l suffix are identical to the versions that don't have it, except that they use the locale parameter that's passed in instead of the current locale. 詳細については、「 Locale」を参照してください。For more information, see Locale.

汎用テキスト ルーチンのマップGeneric-Text Routine Mappings

Tchar.h のルーチンTchar.h routine _UNICODE および _MBCS が未定義の場合_UNICODE and _MBCS not defined _MBCS が定義されている場合_MBCS defined _UNICODE が定義されている場合_UNICODE defined
_tstoll_tstoll atollatoll atollatoll _wtoll_wtoll
_tstoll_l_tstoll_l _atoll_l_atoll_l _atoll_l_atoll_l _wtoll_l_wtoll_l
_ttoll_ttoll _atoll_atoll _atoll_atoll _wtoll_wtoll

必要条件Requirements

ルーチンRoutines 必須ヘッダーRequired header
atoll_atoll_latoll, _atoll_l <stdlib.h><stdlib.h>
_wtoll_wtoll_l_wtoll, _wtoll_l <stdlib.h> または <wchar.h><stdlib.h> or <wchar.h>

Example

このプログラムは、 atoll関数を使用して、文字列として格納されている数値を数値に変換する方法を示しています。This program shows how to use the atoll functions to convert numbers stored as strings to numeric values.

// crt_atoll.c
// Build with: cl /W4 /Tc crt_atoll.c
// This program shows how to use the atoll
// functions to convert numbers stored as
// strings to numeric values.
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>

int main(void)
{
    char *str = NULL;
    long long value = 0;

    // An example of the atoll function
    // with leading and trailing white spaces.
    str = "  -27182818284 ";
    value = atoll(str);
    printf("Function: atoll(\"%s\") = %lld\n", str, value);

    // Another example of the atoll function
    // with an arbitrary decimal point.
    str = "314127.64";
    value = atoll(str);
    printf("Function: atoll(\"%s\") = %lld\n", str, value);

    // Another example of the atoll function
    // with an overflow condition occurring.
    str = "3336402735171707160320";
    value = atoll(str);
    printf("Function: atoll(\"%s\") = %lld\n", str, value);
    if (errno == ERANGE)
    {
       printf("Overflow condition occurred.\n");
    }
}
Function: atoll("  -27182818284 ") = -27182818284
Function: atoll("314127.64") = 314127
Function: atoll("3336402735171707160320") = 9223372036854775807
Overflow condition occurred.

関連項目See also

データ変換Data Conversion
浮動小数点サポートFloating-Point Support
ロケールLocale
_ecvt_ecvt
_fcvt_fcvt
_gcvt_gcvt
setlocale、_wsetlocalesetlocale, _wsetlocale
_atodbl、_atodbl_l、_atoldbl、_atoldbl_l、_atoflt、_atoflt_l_atodbl, _atodbl_l, _atoldbl, _atoldbl_l, _atoflt, _atoflt_l