logo

Stoi-Funktion in C++

Der Stehen ist ein C++-Standardbibliothek Funktion, die eine Zeichenfolge in eine Ganzzahl umwandelt. Es steht für 'String in Ganzzahl' . Es nimmt eine Zeichenfolge als Eingabe und gibt den entsprechenden ganzzahligen Wert zurück. Die Funktion kann eine Ausnahme vom Typ auslösen std::invalid_argument wenn die Eingabezeichenfolge keine gültige Ganzzahl darstellt.

Beispiele für die Verwendung von 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; } 

Ausgabe

 123 -456 

Im ersten Beispiel die Zeichenfolge '123' wird in die Ganzzahl umgewandelt 123 . Im zweiten Beispiel die Zeichenfolge '-456' wird in die Ganzzahl umgewandelt -456 . Im dritten Beispiel ist die Zeichenfolge „7.89“ keine gültige Ganzzahl, also a std::invalid_argument Ausnahme wird ausgelöst.

Weiteres Beispielcode-Snippet:

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

Ausgabe

 100 512 192 Invalid argument: abc 

Das erste Beispiel konvertiert die Zeichenfolge '100' zur dezimalen Ganzzahl 100 . Im zweiten Beispiel die Zeichenfolge '200' wird in die hexadezimale Ganzzahl umgewandelt 512 im Vorbeigehen 0 als zweites Argument und 16 als drittes Argument zu Stehen .

Im dritten Beispiel die Zeichenfolge '300' wird in die Oktalzahl umgewandelt 192 im Vorbeigehen nullptr als zweites Argument und 8 als drittes Argument zu stoi.

Im vierten Beispiel die Zeichenfolge 'ABC' ist keine gültige ganze Zahl, also a std::invalid_argument Ausnahme wird ausgelöst.