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 значение, сформированное путем интерпретации введенные знаки в виде числа.Возвращаемое значение 0 atoiи _wtoiесли входные данные не могут быть преобразованы к значению этого типа.
В случае переполнения с большими отрицательными значениями, объединенными LONG_MIN возвращает.atoi и _wtoi return INT_MAX и INT_MIN в этих условиях.Во всех случаях вне диапазона errno равно ERANGE.Если параметр, переданный in NULLнедопустимый параметр, обработчик вызывается, как описано в разделе Проверка параметров.Если выполнение может быть продолжено, то эти функции установки errno В EINVAL и равен 0.
Заметки
Эти функции convert строка символов к значению (целого числаatoi и _wtoi).Входная строка последовательность символов, которая может быть интерпретировано как значение указанного числового типа.Функция останавливает чтения входную строку с первого символа, который не может распознать как часть номера.Этот символ может быть нуль-символом (" \ 0 " или L \ 0 '), которая строка.
str аргумент atoiи _wtoi имеет следующую форму:
[whitespace] [sign] [digits]]
A whitespace состоит из пробелов или знаков табуляции, игнорируются; sign или плюс " (+) или минус (-); и digits одна или более цифр.
Версии этих функций с _l суффикс идентичны за исключением того, что они используют параметр, переданный вместо языкового стандарта текущего языкового стандарта.Дополнительные сведения см. в разделе Языковой стандарт.
Сопоставления подпрограммы Родов-Текста
Подпрограмма TCHAR.H |
_MBCS не заданные _UNICODE & |
Указанный символ _MBCS |
Указанный _UNICODE |
---|---|---|---|
_tstoi |
atoi |
atoi |
_wtoi |
_ttoi |
atoi |
atoi |
_wtoi |
Требования
Процедуры |
Обязательный заголовок |
---|---|
atoi |
<stdlib.h> |
_atoi_l, _wtoi, _wtoi_l |
<stdlib.h> OR <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");
}
}