logo

Stoi függvény C++-ban

A álló egy C++ szabványos könyvtár függvény, amely egy karakterláncot egész számmá alakít át. Azt jelenti 'karakterlánc egész számra' . Bemenetként egy karakterláncot vesz fel, és a megfelelő egész értéket adja vissza. A függvény típus kivételt hozhat létre std::invalid_argument ha a bemeneti karakterlánc nem érvényes egész számot képvisel.

Példák a stoi használatára C++ nyelven:

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

Kimenet

 123 -456 

Az első példában a karakterlánc '123' egész számmá alakul át 123 . A második példában a karakterlánc '-456' egész számmá alakul át -456 . A harmadik példában a '7.89' karakterlánc nem érvényes egész szám, ezért a std::invalid_argument kivételt dobnak.

Más példa kódrészlet:

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

Kimenet

 100 512 192 Invalid argument: abc 

Az első példa átalakítja a karakterláncot '100' tizedes egész számra 100 . A második példában a karakterlánc '200' hexadecimális egész számmá alakul át 512 elhaladással 0 mint a második érv és 16 mint a harmadik érv ahhoz álló .

A harmadik példában a karakterlánc '300' oktális egész számmá alakul át 192 elhaladással nullptr mint a második érv és 8 mint a stoi harmadik érve.

javascript karakterlánc csere

A negyedik példában a karakterlánc 'ABC' nem érvényes egész szám, ezért a std::invalid_argument kivételt dobnak.