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

Функция from_chars

Функция from_chars преобразует последовательность символов в число. В отличие от stoi и подобных функций, она не использует локаль, не бросает исключений и не выделяет динамическую память. В первый параметр мы передаем указатель на начало последовательности символов, во второй - указатель на ее конец, а в третий - ссылку на переменную, куда будет записан результат.

Синтаксис

from_chars(first, last, value, [base])

Пример

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

#include <iostream> #include <charconv> #include <string> using namespace std; int main() { string str = "12345"; int res = 0; from_chars(str.data(), str.data() + str.size(), res); cout << res << endl; return 0; }

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

12345

Пример

Давайте преобразуем строку "abcde" в число типа double. Функция вернет объект from_chars_result, в котором мы можем проверить код ошибки:

#include <iostream> #include <charconv> #include <string> #include <system_error> using namespace std; int main() { string str = "abcde"; double res = 0; auto result = from_chars(str.data(), str.data() + str.size(), res); if (result.ec == errc()) { cout << res << endl; } else { cout << "error" << endl; } return 0; }

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

"error"

Пример

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

#include <iostream> #include <charconv> #include <string> using namespace std; int main() { string str = "ff"; int res = 0; from_chars(str.data(), str.data() + str.size(), res, 16); cout << res << endl; return 0; }

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

255

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

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