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.