logo

Funció Stoi en C++

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ó.