_atoi64, _atoi64_l, _wtoi64, _wtoi64_l

 

Самая актуальная документация по Visual Studio 2017: Документация по Visual Studio 2017.

Преобразует строку в 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 идентичны, за исключением того, что они используют переданный параметр языкового стандарта вместо текущего языкового стандарта. Для получения дополнительной информации см. Locale.

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

Подпрограмма 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");  
    }  
}  

Function: _atoi64( "  -2309 " ) = -2309  
Function: _atoi64( "314127.64" ) = 314127  
Function: _atoi64( "3336402735171707160320" ) = -1  
Overflow condition occurred.  

Преобразование данных
Числа с плавающей запятой
Языковой стандарт
_ecvt
_fcvt
_gcvt
setlocale _wsetlocale
_atodbl, _atodbl_l, _atoldbl, _atoldbl_l, _atoflt, _atoflt_l

Показ: