logo

Fonction Stoi en C++

Le debout est un Bibliothèque standard C++ fonction qui convertit une chaîne en entier. Ça signifie 'chaîne en entier' . Il prend une chaîne en entrée et renvoie la valeur entière correspondante. La fonction peut lever une exception de type std :: invalid_argument si la chaîne d'entrée ne représente pas un entier valide.

Exemples d'utilisation de stoi en C++ :

 #include #include int main() { std::string str1 = '123'; int num1 = std::stoi(str1); std::cout<< num1 << std::endl; // Output: 123 std::string str2 = '-456'; int num2 = std::stoi(str2); std::cout<< num2 << std::endl; // Output: -456 std::string str3 = '7.89'; try { int num3 = std::stoi(str3); } catch (std::invalid_argument&e) { std::cout<< 'Invalid argument: ' << str3 << std::endl; } return 0; } 

Sortir

 123 -456 

Dans le premier exemple, la chaîne '123' est converti en entier 123 . Dans le deuxième exemple, la chaîne '-456' est converti en entier -456 . Dans le troisième exemple, la chaîne « 7,89 » n'est pas un entier valide, donc un std :: invalid_argument une exception est levée.

Autre exemple d'extrait de code :

 #include #include int main() { std::string str1 = '100'; int num1 = std::stoi(str1); std::cout<< num1 << std::endl; // Output: 100 std::string str2 = '200'; int num2 = std::stoi(str2, 0, 16); std::cout<< num2 << std::endl; // Output: 512 std::string str3 = '300'; int num3 = std::stoi(str3, nullptr, 8); std::cout<< num3 << std::endl; // Output: 192 std::string str4 = 'abc'; try { int num4 = std::stoi(str4); } catch (std::invalid_argument&e) { std::cout<< 'Invalid argument: ' << str4 << std::endl; } return 0; } 

Sortir

 100 512 192 Invalid argument: abc 

Le premier exemple convertit la chaîne '100' au nombre entier décimal 100 . Dans le deuxième exemple, la chaîne '200' est converti en entier hexadécimal 512 en passant 0 comme deuxième argument et 16 comme troisième argument pour debout .

Dans le troisième exemple, la chaîne '300' est converti en entier octal 192 en passant nullptr comme deuxième argument et 8 comme troisième argument de stoi.

Dans le quatrième exemple, la chaîne 'abc' n'est pas un entier valide, donc un std :: invalid_argument une exception est levée.