I’m not a senior C++ developer, so I have no idea about the best way, but this should work:
#include <iostream>
#include <string>
#include <cctype>
int main() {
std::string str = "123";
// str[0] - gets the first character
// isdigit(character) - checks if character is a digit
// stoi throws invalid_argument exception
// if string does not start with a digit
if (isdigit(str[0])) {
/*
stoi means "String TO Integer"
you can easily change it to for example:
* stof ("String TO Float"),
* stol ("String TO Long")
* and so on …
*/
int num = std::stoi(str);
std::cout << "[DONE] Converted integer: " << num << std::endl;
} else {
std::cout << "[ERROR] Invalid input string: " << str << std::endl;
}
return 0;
}