Функция stoll
Функция stoll преобразует строку в
целое число типа long long. В первый
параметр мы передаем строку, которую нужно
преобразовать, во второй - позицию, с которой
следует начать разбор (по умолчанию 0),
а в третий - основание системы счисления
(по умолчанию 10). Функция возвращает
преобразованное число, а если преобразование
невозможно - выбрасывает исключение
std::invalid_argument.
Синтаксис
long long stoll(const string& str, size_t* pos = nullptr, int base = 10)
Пример
Давайте преобразуем строку "12345"
в число типа long long:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str = "12345";
long long res = stoll(str);
cout << res << endl;
return 0;
}
Результат выполнения кода:
12345
Пример
Давайте преобразуем строку "abcde".
Так как строка не содержит числа, функция
выбросит исключение:
#include <iostream>
#include <string>
#include <stdexcept>
using namespace std;
int main()
{
string str = "abcde";
try
{
long long res = stoll(str);
cout << res << endl;
}
catch (const invalid_argument& e)
{
cout << "Invalid argument" << endl;
}
return 0;
}
Результат выполнения кода:
"Invalid argument"
Пример
Давайте преобразуем строку "ff",
указав основание системы счисления 16:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str = "ff";
long long res = stoll(str, nullptr, 16);
cout << res << endl;
return 0;
}
Результат выполнения кода:
255