Поделиться через


atoi, _atoi_l, _wtoi, _wtoi_l

Преобразование строки в целое число.

int atoi(
   const char *str 
);
int _wtoi(
   const wchar_t *str 
);
int _atoi_l(
   const char *str,
   _locale_t locale
);
int _wtoi_l(
   const wchar_t *str,
   _locale_t locale
);

Параметры

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

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

Возвращаемое значение

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

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

Заметки

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

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

[whitespace] [sign] [digits]]

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

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

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

Подпрограмма TCHAR.H

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

_MBCS определено

_UNICODE определено

_tstoi

atoi

atoi

_wtoi

_ttoi

atoi

atoi

_wtoi

Требования

Программы

Обязательный заголовок

atoi

<stdlib.h>

_atoi_l, _wtoi, _wtoi_l

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

Пример

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

// crt_atoi.c
// This program shows how numbers 
// stored as strings can be converted to
// numeric values using the atoi functions.

#include <stdlib.h>
#include <stdio.h>
#include <errno.h>

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

    // An example of the atoi function.
    str = "  -2309 ";
    value = atoi( str );
    printf( "Function: atoi( \"%s\" ) = %d\n", str, value );

    // Another example of the atoi function.
    str = "31412764";
    value = atoi( str );
    printf( "Function: atoi( \"%s\" ) = %d\n", str, value );

    // Another example of the atoi function 
    // with an overflow condition occuring.
    str = "3336402735171707160320";
    value = atoi( str );
    printf( "Function: atoi( \"%s\" ) = %d\n", str, value );
    if (errno == ERANGE)
    {
       printf("Overflow condition occurred.\n");
    }
}
  

Эквивалент в .NET Framework

См. также

Ссылки

Преобразование данных

Поддержка чисел с плавающей запятой

Языковой стандарт

_ecvt

_fcvt

_gcvt

setlocale, _wsetlocale

_atodbl, _atodbl_l, _atoldbl, _atoldbl_l, _atoflt _atoflt_l