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.