Функция atol
Функция atol преобразует строку в целое число типа long.
В первый параметр мы передаем указатель на строку, которую необходимо
преобразовать. Функция читает число с начала строки, пропуская
ведущие пробельные символы, и прекращает чтение при первом
неподходящем символе.
Если преобразование невозможно, функция возвращает 0.
Если число выходит за пределы диапазона типа long,
поведение не определено. Функция объявлена в заголовочном
файле <cstdlib>.
Синтаксис
long atol(const char* str);
Пример
Давайте преобразуем строку "12345" в число типа long:
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
const char* str = "12345";
long res = atol(str);
cout << res << endl;
return 0;
}
Результат выполнения кода:
12345
Пример
Давайте преобразуем строку "-67890" с отрицательным числом:
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
const char* str = "-67890";
long res = atol(str);
cout << res << endl;
return 0;
}
Результат выполнения кода:
-67890
Пример
Давайте преобразуем строку "123abc", содержащую символы
после числа. Функция прочитает только начальную числовую часть:
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
const char* str = "123abc";
long res = atol(str);
cout << res << endl;
return 0;
}
Результат выполнения кода:
123
Пример
Давайте преобразуем строку "abc", которая не содержит
числа. В этом случае функция вернет 0:
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
const char* str = "abc";
long res = atol(str);
cout << res << endl;
return 0;
}
Результат выполнения кода:
0