строки в число
std::string -> int
Код: Выделить всё
int std::stoi(std::string);
Код: Выделить всё
std::string std::to_string(int);
Пример преобразования std::string в unsigned int:
Код: Выделить всё
#include <iostream>
#include <string> // Для std::string и std::stoul
int main() {
std::string str = "12345"; // Строка с числом
try {
unsigned long num_long = std::stoul(str); // Преобразование в unsigned long
unsigned int num = static_cast<unsigned int>(num_long); // Приведение к unsigned int
std::cout << "Строка: " << str << std::endl;
std::cout << "Преобразованное число (unsigned int): " << num << std::endl;
} catch (const std::invalid_argument& e) {
std::cerr << "Ошибка: строка не является числом" << std::endl;
} catch (const std::out_of_range& e) {
std::cerr << "Ошибка: число выходит за диапазон unsigned long" << std::endl;
}
return 0;
}
std::stoul преобразует строку в unsigned long.
В случае, если строка не содержит числа или число выходит за диапазон, выбрасываются исключения std::invalid_argument или std::out_of_range.
После успешного преобразования можно привести unsigned long к unsigned int, если уверены, что значение в диапазоне.
Важное замечание:
Перед преобразованием убедитесь, что строка действительно содержит допустимое числовое значение, чтобы избежать исключений или неправильных результатов.