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++ для atoi, atol, atoll |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/c/string/byte/atoi