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