logo

Funzione Stoi in C++

IL in piedi è un Libreria standard C++ funzione che converte una stringa in un numero intero. Sta per 'da stringa a intero' . Prende una stringa come input e restituisce il valore intero corrispondente. La funzione può sollevare un'eccezione di tipo std::argomento_invalido se la stringa di input non rappresenta un numero intero valido.

Esempi di utilizzo di stoi in 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; } 

Produzione

 123 -456 

Nel primo esempio, la stringa '123' viene convertito in numero intero 123 . Nel secondo esempio, la stringa '-456' viene convertito in numero intero -456 . Nel terzo esempio, la stringa '7.89' non è un numero intero valido, quindi a std::argomento_invalido viene lanciata un'eccezione.

Altro snippet di codice di esempio:

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

Produzione

 100 512 192 Invalid argument: abc 

Il primo esempio converte la stringa '100' all'intero decimale 100 . Nel secondo esempio, la stringa '200' viene convertito nell'intero esadecimale 512 passando 0 come secondo argomento e 16 come terzo argomento a in piedi .

Nel terzo esempio, la stringa '300' viene convertito nell'intero ottale 192 passando nullptr come secondo argomento e 8 come terzo argomento per stoi.

Nel quarto esempio, la stringa 'abc' non è un numero intero valido, quindi a std::argomento_invalido viene lanciata un'eccezione.