C ++ atol () - Стандартная библиотека C ++

Функция atol () в C ++ интерпретирует содержимое строки и возвращает соответствующее ей целочисленное значение.

atol () Прототип

 длинный 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 Число в длинном интервале = -114

Допустимое целочисленное значение для функции atol () состоит из необязательного знака + или -, за которым следуют числовые цифры (0-9) . Функция atol () не поддерживает шестнадцатеричные числа, бесконечность и NaNвыражения, такие как функция atof ().

В общем, действительный целочисленный аргумент для функции atol () имеет следующий вид:

 (пробел) (- | +) (цифры)

Функция atol () игнорирует все начальные пробельные символы до тех пор, пока не будет найден основной непробельный символ.

Затем, начиная с этого символа, требуется как можно больше символов, которые образуют допустимое целочисленное представление и преобразуют их в значение типа long 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 Число в длинном интервале = 13 Число в строке = 25 Число в длинном интервале = 25 Число в строке = 41.90abcd Число в длинном интервале = 41 от abcd14 до длинного числа Int = 0

Интересные статьи...