Пространства имён
Варианты
Действия

std::atoi, std::atol, std::atoll

Материал из cppreference.com
< cpp‎ | string‎ | byte
Определено в заголовочном файле <cstdlib>
int       atoi( const char *str );
long      atol( const char *str );
long long atoll( const char *str );
(начиная с C++11)

Преобразует строку, доступную по указателю str в целое число.

Пропускает все пробельные символа, до тех пор пока не будет найден символ другого типа, затем берёт как много больше символов, чтобы сформировать корректное представление целого числа и конвертирует его в целочисленное значение. Корректное целочисленное значение состоит из следующих частей:

  • (необязательно) знак плюса или минуса
  • цифры

Содержание

[править] Параметры

str - Указатель на однобайтовую нульзавершённую строку, из которой необходимо получить целочисленное значение.

[править] Возвращаемое значение

Если преобразование было успешным, то возвращается соответствующее содержимому str целочисленное значение. Если преобразованное значение выходит за предел значения данного типа, то возвращаемое значение не определено. Если строку никак не преобразовать в целое число, то возвращается 0.

[править] Пример

#include <iostream>
#include <cstdlib>
 
int main()
{
    const char *str1 = "42";
    const char *str2 = "3.14159";
    const char *str3 = "31337 with words";
    const char *str4 = "words and 2";
 
    int num1 = std::atoi(str1);
    int num2 = std::atoi(str2);
    int num3 = std::atoi(str3);
    int num4 = std::atoi(str4);
 
    std::cout << "std::atoi(\"" << str1 << "\") is " << num1 << '\n';
    std::cout << "std::atoi(\"" << str2 << "\") is " << num2 << '\n';
    std::cout << "std::atoi(\"" << str3 << "\") is " << num3 << '\n';
    std::cout << "std::atoi(\"" << str4 << "\") is " << num4 << '\n';
}

Вывод:

std::atoi("42") is 42
std::atoi("3.14159") is 3
std::atoi("31337 with words") is 31337
std::atoi("words and 2") is 0

[править] См. также

(C++11)
(C++11)
(C++11)
преобразует строку в знаковое целое число
(функция) [править]
Преобразует однобайтовую строку в целое число в различных системах счисления
(функция) [править]
Преобразует однобайтовую строку в целое число без знака в различных системах счисления
(функция) [править]
Справка по Catoi, atol, atoll