РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
754 of 815 menu

Функция strtol

Функция strtol преобразует строку в длинное целое число типа long. В первый параметр мы передаем строку для преобразования, во второй - указатель на переменную, в которую будет записан адрес первого символа, следующего за числом (можно передать nullptr, если эта информация не нужна), а в третий - основание системы счисления (от 2 до 36). Если основание равно 0, система счисления определяется автоматически: по префиксу "0x" - шестнадцатеричная, по префиксу "0" - восьмеричная, иначе десятичная.

Синтаксис

long strtol(const char* str, char** endptr, int base)

Пример

Давайте преобразуем строку "12345" в число типа long в десятичной системе счисления:

#include <iostream> #include <cstdlib> using namespace std; int main() { const char* str = "12345"; long res = strtol(str, nullptr, 10); cout << res << endl; return 0; }

Результат выполнения кода:

12345

Пример

Давайте преобразуем строку "1a" в шестнадцатеричной системе счисления и получим позицию символа, на котором остановился разбор:

#include <iostream> #include <cstdlib> using namespace std; int main() { const char* str = "1a"; char* end; long res = strtol(str, &end, 16); cout << res << endl; cout << "Stopped at: " << end << endl; return 0; }

Результат выполнения кода:

26 "Stopped at:"

Пример

Давайте преобразуем строку "0x1F" с автоматическим определением системы счисления по префиксу:

#include <iostream> #include <cstdlib> using namespace std; int main() { const char* str = "0x1F"; long res = strtol(str, nullptr, 0); cout << res << endl; return 0; }

Результат выполнения кода:

31

Смотрите также

  • функция stoi,
    которая преобразует строку в int
  • функция stol,
    которая преобразует строку в long
  • функция strtod,
    которая преобразует строку в double
  • функция atoi,
    которая преобразует строку в int
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить