Avatar ·

Comment convertir std::string en int en C++ ?

Bonjour à tous ! Je suis débutant en C++ et j'écris un petit programme qui lit un nombre depuis un fichier et effectue des opérations arithmétiques avec lui. J'ai un std::string contenant une valeur numérique, par exemple "123". J'ai besoin de convertir cette chaîne en int pour pouvoir l'additionner avec une autre variable.\n\nLe problème est que je ne peux pas simplement écrire int number = myString; — le compilateur génère une erreur. J'ai essayé d'utiliser stoi(), mais je ne suis pas sûr que ce soit la bonne méthode, surtout si la chaîne peut contenir des caractères supplémentaires (par exemple, des espaces ou des lettres). J'ai aussi entendu dire qu'il existe atoi(), mais on dit qu'il est obsolète et dangereux.\n\nPouvez-vous me dire comment convertir correctement et en toute sécurité un std::string en int en C++ moderne (de préférence C++11 et plus récent) ? J'ai besoin d'un exemple avec gestion des erreurs pour que le programme ne plante pas.