Как из цифр преобразовать в число?

В C++ есть несколько способов преобразования цифр в число.

1. С помощью функции std::stoi(): std::stoi() преобразует строку, состоящую из цифр, в тип int. Если строка содержит недопустимый символ, функция выбрасывает исключение std::invalid_argument или std::out_of_range.

Пример использования std::stoi():

#include <iostream>
#include <string>

int main() {
    std::string digits = "12345";
    int number = std::stoi(digits);
    
    std::cout << "Number: " << number << std::endl;
    return 0;
}

2. С помощью функции std::istringstream: std::istringstream является потоковым классом, который позволяет считывать данные из строки так же, как если бы они считывались из потока ввода. Метод std::istringstream::operator>>(int&) преобразует последовательность символов в тип int.

Пример использования std::istringstream:

#include <iostream>
#include <sstream>
#include <string>

int main() {
    std::string digits = "12345";
    std::istringstream iss(digits);
    
    int number;
    iss >> number;
    
    std::cout << "Number: " << number << std::endl;
    return 0;
}

3. С помощью функций std::strtod() или std::strtol(): std::strtod() преобразует строку в double, а std::strtol() преобразует строку в длинное целое число (long int). Эти функции позволяют указать основание системы счисления (10 для десятичного числа) и обрабатывают ошибки, если указанная строка не представляет собой действительное число.

Пример использования std::strtol():

#include <iostream>
#include <cstdlib>
#include <cstring>

int main() {
    const char* digits = "12345";
    char* end;
    
    long number = std::strtol(digits, &end, 10);
    
    std::cout << "Number: " << number << std::endl;
    return 0;
}

В каждом из указанных примеров результат будет одинаковым - число 12345. Выбор конкретного метода преобразования цифр в число зависит от требований вашей программы, предпочтений и специфики ваших данных.