El dempeus és un Biblioteca estàndard C++ funció que converteix una cadena en un enter. Significa 'cadena a enter' . Pren una cadena com a entrada i retorna el valor enter corresponent. La funció pot generar una excepció de tipus std::argument_invàlid si la cadena d'entrada no representa un nombre enter vàlid.
programació stdin c
Exemples d'ús 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; }
Sortida
123 -456
En el primer exemple, la cadena '123' es converteix en nombre enter 123 . En el segon exemple, la cadena '-456' es converteix en nombre enter -456 . En el tercer exemple, la cadena '7.89' no és un nombre enter vàlid, per tant a std::argument_invàlid es llança una excepció.
Un altre fragment de codi d'exemple:
ets empalmament
#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; }
Sortida
100 512 192 Invalid argument: abc
El primer exemple converteix la cadena '100' al nombre sencer decimal 100 . En el segon exemple, la cadena '200' es converteix en un nombre enter hexadecimal 512 pel pas 0 com a segon argument i 16 com a tercer argument dempeus .
cadena de matriu c
En el tercer exemple, la cadena '300' es converteix en un nombre enter octal 192 pel pas nullptr com a segon argument i 8 com el tercer argument a stoi.
En el quart exemple, la cadena 'abc' no és un nombre enter vàlid, per tant a std::argument_invàlid es llança una excepció.