Cómo convertir std::string a int en C++?
¡Hola a todos! Soy nuevo en C++ y estoy escribiendo un programa simple que lee un número de un archivo y realiza operaciones aritméticas con él. Tengo un std::string que contiene un valor numérico, por ejemplo, "123". Necesito convertir esta cadena a int para poder sumarla con otra variable.
El problema es que no puedo simplemente escribir int number = myString; — el compilador da un error. Intenté usar stoi(), pero no estoy seguro de que sea la forma correcta, especialmente si la cadena puede tener caracteres adicionales (como espacios o letras). También escuché que existe atoi(), pero dicen que está obsoleto y es peligroso.
Por favor, indíquenme cómo convertir std::string a int de manera correcta y segura en C++ moderno (preferiblemente C++11 y superior). Necesito un ejemplo con manejo de errores para que el programa no se caiga si la cadena contiene datos no válidos. ¡Gracias de antemano!
Aquí está mi código actual, que no funciona:
```cpp
#include
#include
int main() {
std::string s = "456";