atoi, atol, atoll
|
Определено в заголовочном файле
<stdlib.h>
|
||
|
int
atoi
(
const
char
*
str
)
;
|
(1) | |
|
long
atol
(
const
char
*
str
)
;
|
(2) | |
|
long
long
atoll
(
const
char
*
str
)
;
|
(3) | (начиная с C99) |
Интерпретирует целочисленное значение в байтовой строке, на которую указывает str . Подразумеваемая система счисления всегда 10 .
Отбрасывает любые пробельные символы до тех пор, пока не будет найден первый непробельный символ, затем принимает максимально возможное количество символов, формирующих корректное представление целого числа, и преобразует их в целочисленное значение. Корректное целочисленное значение состоит из следующих частей:
- (необязательно) знак плюс или минус
- числовые цифры
Если значение результата не может быть представлено, т.е. преобразованное значение выходит за пределы диапазона соответствующего возвращаемого типа, поведение не определено.
Содержание |
Параметры
| str | - | указатель на нуль-терминированную байтовую строку для интерпретации |
Возвращаемое значение
Целочисленное значение, соответствующее содержимому str при успешном выполнении.
Если преобразование не может быть выполнено, 0 возвращается.
Примечания
Название расшифровывается как «ASCII в целое число».
Пример
#include <stdio.h> #include <stdlib.h> int main(void) { printf("%i\n", atoi(" -123junk")); printf("%i\n", atoi(" +321dust")); printf("%i\n", atoi("0")); printf("%i\n", atoi("0042")); // treated as a decimal number with leading zeros printf("%i\n", atoi("0x2A")); // only leading zero is converted discarding "x2A" printf("%i\n", atoi("junk")); // no conversion can be performed printf("%i\n", atoi("2147483648")); // UB: out of range of int }
Возможный вывод:
-123 321 0 42 0 0 -2147483648
Ссылки
- Стандарт C23 (ISO/IEC 9899:2024):
-
- 7.22.1.2 Функции atoi, atol и atoll (стр: TBD)
- Стандарт C17 (ISO/IEC 9899:2018):
-
- 7.22.1.2 Функции atoi, atol и atoll (стр. 249)
- Стандарт C11 (ISO/IEC 9899:2011):
-
- 7.22.1.2 Функции atoi, atol и atoll (стр: 341)
- Стандарт C99 (ISO/IEC 9899:1999):
-
- 7.20.1.2 Функции atoi, atol и atoll (стр: 307)
- Стандарт C89/C90 (ISO/IEC 9899:1990):
-
- 4.10.1.2 Функция atoi
-
- 4.10.1.3 Функция atol
Смотрите также
|
(C99)
|
преобразует байтовую строку в целочисленное значение
(функция) |
|
(C99)
|
преобразует байтовую строку в беззнаковое целочисленное значение
(функция) |
|
(C95)
(C99)
|
преобразует широкую строку в целочисленное значение
(функция) |
|
(C95)
(C99)
|
преобразует широкую строку в беззнаковое целочисленное значение
(функция) |
|
C++ documentation
для
atoi
,
atol
,
atoll
|
|