Экспорт (0) Печать
Развернуть все
and
div
eof
not
or
xor
Развернуть Свернуть
Эта статья переведена вручную. Наведите указатель мыши на предложения статьи, чтобы просмотреть исходный текст. Дополнительные сведения.
Перевод
Текст оригинала

_atoi64, _atoi64_l, _wtoi64, _wtoi64_l

Преобразует строку в 64-разрядное целое число.

__int64 _atoi64(
   const char *str 
);
__int64 _wtoi64(
   const wchar_t *str 
);
__int64 _atoi64_l(
   const char *str,
   _locale_t locale
);
__int64 _wtoi64_l(
   const wchar_t *str,
   _locale_t locale
);

str

Строка для преобразования.

locale

Языковой стандарт, который необходимо использовать.

Каждая функция возвращает значение __int64, которое создается за счет интерпретации входных символов в виде числа. _atoi64 возвращает 0, если аргумент нельзя преобразовать в значение этого типа.

В случае переполнения большими положительными целыми значениями _atoi64 возвращает I64_MAX, в случае переполнения большими отрицательными целыми значениями — I64_MIN.

Во всех случаях вне допустимого диапазона, параметр errno имеет значение ERANGE. Если переданный параметр — NULL, вызывается обработчик недопустимого параметра, как описано в разделе Проверка параметров. Если продолжение выполнения разрешено, эти функции устанавливают для errno значение EINVAL и возвращают 0.

Эти функции преобразуют символьную строку в 64-разрядное целочисленное значение.

Входная строка — это последовательность символов, которая может быть интерпретирована как числовое значение указанного типа. Функция прекращает чтение входной строки на первом знаке, который она не может распознать как часть числа. Этот символ может быть нулевым символом ("\0" или " L "\0"), которым завершается строка.

Аргумент str для _atoi64 имеет следующую форму:

[whitespace] [sign] [digits]]

whitespace состоит из пробелов и знаков табуляции, которые игнорируются; sign — плюс (+) или минус (–); digits — одна или несколько десятичных цифр.

_wtoi64 идентично _atoi64, за исключением того, что он принимает строку расширенных символов в качестве параметра.

Версии этих функций с суффиксом _l идентичны, за исключением того, что они используют переданный параметр языкового стандарта вместо текущего языкового стандарта. Для получения дополнительной информации см. Языковой стандарт.

Универсальное текстовое сопоставление функций

Подпрограмма Tchar.h

_UNICODE и _MBCS не определены

_MBCS задан

_UNICODE задан

_tstoi64

_atoi64

_atoi64

_wtoi64

_ttoi64

_atoi64

_atoi64

_wtoi64

Программы

Требуемый заголовок

_atoi64, _atoi64_l

<stdlib.h>

_wtoi64, _wtoi64_l

<stdlib.h> или <wchar.h>

Эта программа показывает, как числа, хранящиеся в виде строки, могут преобразованы в числовые значения с помощью _atoi64.

// crt_atoi64.c
// This program shows how numbers stored as
// strings can be converted to numeric values
// using the _atoi64 functions.
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>

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

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

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

    // Another example of the _atoi64 function
    // with an overflow condition occurring.
    str = "3336402735171707160320";
    value = _atoi64( str );
    printf( "Function: _atoi64( \"%s\" ) = %d\n", str, value );
    if (errno == ERANGE)
    {
       printf("Overflow condition occurred.\n");
    }
}
Функция: _atoi64( " -2309 " ) = -2309
Функция: _atoi64( "314127.64" ) = 314127
Функция: _atoi64( "3336402735171707160320" ) = -1
Возникло условие переполнения.

Добавления сообщества

ДОБАВИТЬ
Показ:
© 2015 Microsoft