logo

Stoi funkcija C++ valodā

The stāvus ir C++ standarta bibliotēka funkcija, kas pārvērš virkni par veselu skaitli. Tas nozīmē 'virkne līdz veselam skaitlim' . Tas izmanto virkni kā ievadi un atgriež atbilstošo vesela skaitļa vērtību. Funkcija var radīt veida izņēmumu std::invalid_argument ja ievades virkne neatspoguļo derīgu veselu skaitli.

Stoi izmantošanas piemēri programmā C++:

piemērs java
 #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; } 

Izvade

 123 -456 

Pirmajā piemērā virkne '123' tiek pārveidots par veselu skaitli 123 . Otrajā piemērā virkne '-456' tiek pārveidots par veselu skaitli -456 . Trešajā piemērā virkne '7.89' nav derīgs vesels skaitlis, tāpēc a std::invalid_argument izņēmums tiek izmests.

Cits koda fragmenta piemērs:

 #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; } 

Izvade

alfabēts skaitļos
 100 512 192 Invalid argument: abc 

Pirmais piemērs pārvērš virkni '100' līdz veselam skaitlim aiz komata 100 . Otrajā piemērā virkne '200' tiek pārveidots par veselu heksadecimālu skaitli 512 garāmejot 0 kā otrais arguments un 16 kā trešais arguments stāvus .

python inicializācijas saraksts

Trešajā piemērā virkne '300' tiek pārveidots par oktālu veselu skaitli 192 garāmejot nullptr kā otrais arguments un 8 kā trešais arguments stoi.

Ceturtajā piemērā virkne 'abc' nav derīgs vesels skaitlis, tāpēc a std::invalid_argument izņēmums tiek izmests.