logo

Stoi funkcija C++

The stovint yra C++ standartinė biblioteka funkcija, kuri paverčia eilutę į sveikąjį skaičių. Tai reiškia 'eilutė į sveikąjį skaičių' . Ji paima eilutę kaip įvestį ir grąžina atitinkamą sveikojo skaičiaus reikšmę. Funkcija gali sukelti tipo išimtį std::negaliojantis_argumentas jei įvesties eilutė neatspindi tinkamo sveikojo skaičiaus.

kokio dydžio mano monitoriaus ekranas

Stoi naudojimo C++ pavyzdžiai:

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

Išvestis

 123 -456 

Pirmame pavyzdyje eilutė '123' paverčiamas sveikuoju skaičiumi 123 . Antrame pavyzdyje eilutė '-456' paverčiamas sveikuoju skaičiumi -456 . Trečiame pavyzdyje eilutė „7.89“ nėra tinkamas sveikasis skaičius, todėl a std::negaliojantis_argumentas išmetama išimtis.

Kitas kodo fragmento pavyzdys:

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

Išvestis

 100 512 192 Invalid argument: abc 

Pirmasis pavyzdys konvertuoja eilutę '100' iki sveikojo skaičiaus po kablelio 100 . Antrame pavyzdyje eilutė '200' konvertuojamas į šešioliktainį sveikąjį skaičių 512 pravažiuojant 0 kaip antrasis argumentas ir 16 kaip trečiasis argumentas stovint .

Trečiame pavyzdyje eilutė '300' konvertuojamas į aštuntąjį sveikąjį skaičių 192 pravažiuojant nullptr kaip antrasis argumentas ir 8 kaip trečiasis argumentas stoi.

pakeisti java eilutę

Ketvirtajame pavyzdyje eilutė 'abc' nėra galiojantis sveikasis skaičius, todėl a std::negaliojantis_argumentas išmetama išimtis.