Функція atol () в C ++ інтерпретує вміст рядка і повертає відповідне ціле значення.
atol () Прототип
long int atol (const char * str);
Це визначається у файлі заголовка.
Функція atol () приймає рядок як параметр, інтерпретує його вміст як ціле число і повертає відповідне значення в long int
.
atol () Параметри
- str - рядок, що представляє ціле число.
atol () Повернене значення
Функція atol () повертає:
long int
значення (яке перетворюється з рядка).- 0, якщо не вдалося виконати дійсне перетворення.
Якщо перетворене значення виходить за межі діапазону, це спричиняє невизначену поведінку.
Приклад 1: Як працює функція atol ()?
#include #include using namespace std; int main() ( char s() = "-114"; double number; cout << "Number in String = " << s << endl; number = atol(s); cout << "Number in Long Int = " << number; return 0; )
Коли ви запускаєте програму, результат буде:
Число в рядку = -114 Кількість у довгому Int = -114
Дійсне ціле значення для функції atol () складається з необов’язкового знака + або -, за яким слідують цифрові цифри (0-9) . Функція atol () не підтримує шістнадцяткову систему, нескінченність та NaN
вираз, як функція atof ().
Загалом, допустимий цілочисельний аргумент для функції atol () має такий вигляд:
(пробіли) (- | +) (цифри)
Функція atol () ігнорує всі провідні пробіли, поки не буде знайдено основний непробіл.
Потім, починаючи з цього символу, потрібно якомога більше символів, які формують дійсне цілочисельне подання і перетворюють їх у довге значення int. Все, що залишилось від рядка після останнього дійсного символу, ігнорується і не впливає на результат.
Приклад 2: функція atol () з пробілами та кінцевими символами
#include #include using namespace std; int main() ( cout << "Number in String = " << " 13" << endl; cout << "Number in Long Int = " << atol(" 13") << endl << endl; cout << "Number in String = " << " 25 " << endl; cout << "Number in Long Int = " << atol(" 25 ") << endl << endl; cout << "Number in String = " << "41.90abcd" << endl; cout << "Number in Long Int = " << atol("41.90abcd") << endl << endl; // Returns 0 because of invalid conversion cout << "abcd14" << " to Long Int = " << atol("abcd14") << endl; return 0; )
Коли ви запускаєте програму, результат буде:
Число в рядку = 13 число в довгому Int = 13 число в рядку = 25 число в довгому Int = 25 Число в рядку = 41.90abcd Номер у довгому Int = 41 abcd14 до Long Int = 0