logo

std::stoi Funktion in C++

stoi() ist eine Standardbibliotheksfunktion, die einen String in eine Ganzzahl umwandelt. C++-Programmierer nutzen die Funktion, die für „String to Integer“ steht, um Ganzzahlen aus Strings zu erhalten. Darüber hinaus kann die Funktion stoi() andere Komponenten, wie z. B. nachgestellte Buchstaben, aus der Zeichenfolge entfernen.

Syntax:



int stoi (string s, size_t* position = 0, int base = 10)>

Parameter:

  1. Der zu transformierende String ist der erste Parameter.
  2. Speicherort einer Ganzzahl, die verwendet wird, um zu verfolgen, wie viele Zeichen gelesen wurden. In diesem Szenario wird er nicht verwendet, wenn dieser Parameter ein Nullzeiger ist.
  3. Der dritte und letzte Parameter ist Basis. Das Format der Sequenz bestimmt die verwendete Basis, wenn diese 0 ist. Wenn kein Argument übergeben wird, wird die Basis 10 (dezimal) verwendet.

Beispiele:

Eingang: 1Kein Programmierer;



Ausgabe: 1

Eingang : HelloWorld54;

Ausgabe : Terminate wird aufgerufen, nachdem eine Instanz von „std::invalid_argument“ ausgelöst wurde.



Erläuterung: Dies gibt einen Fehler aus, denn wenn das erste Zeichen keine Ganzzahl ist, wird die Funktion stoi() beendet

jsp javatpoint

Eingang : Sie haben 1 Tastatur;

Ausgabe : Terminate wird aufgerufen, nachdem eine Instanz von „std::invalid_argument“ ausgelöst wurde.

what(): steht

Rückgabetyp: Der Zeichenfolgenwert eines Arguments, das an übergeben wird Stehen() Die Funktion wird als Ganzzahl zurückgegeben.

Wie es funktioniert?

Die Funktion stoi(), die eine Zeichenfolge als Argument akzeptiert, kann die Ganzzahlkomponente einer Zeichenfolge in einen Ganzzahltyp konvertieren. Es werden nur ganzzahlige Werte bis zum ersten nicht ganzzahligen Element oder dem Ende der Zeichenfolge berücksichtigt.

Wenn wir das folgende Programm ausführen, wird zur Laufzeit ein Fehler erzeugt. Dies liegt daran, dass die Funktion stoi() das Durchlaufen der Zeichenfolge stoppt, wenn sie auf ein nicht ganzzahliges Zeichen oder ein Leerzeichen stößt. Die Funktion stoi() wird beendet, wenn das Anfangszeichen keine ganze Zahl ist.

Beispiel:

Python-Tupel sortiert

C++




// C++ Program to convert> // string into integer> // Using stoi function> // Error occurred> #include> #include> using> namespace> std;> // Driver Code> int> main()> {> >string s =>'GeeksForGeeks 1'>;> >// calling stoi() passing string as parameter.> >int> n = stoi(s);> >cout << n;> }>

>

>

Sortieren Sie eine Arrayliste in Java
terminate called after throwing an instance of 'std::invalid_argument' what(): stoi>

Es wird ein Fehler ausgegeben, da die Funktion stoi() auf ein Leerzeichen vor 1 stößt.

Beispiel:

C++




// C++ Program to convert> // string into integer> // Using stoi> #include> #include> using> namespace> std;> // Driver Code> int> main()> {> >string str =>'2009, techcodeview.com_founded'>;> >string str1 =>'0x6C1'>;> >string str2 =>'-10010010101'>;> >// Calling stoi() for all strings.> >int> num = stoi(str);> >int> num_hex = stoi(str1, nullptr, 16);> >int> num_bin = stoi(str2, nullptr, 2);> >// printing converted values> >cout << str <<>': '> << num << endl;> >cout << str1 <<>': '> << num_hex << endl;> >cout << str2 <<>': '> << num_bin << endl;> >return> 0;> }>

>

>

Ausgabe

2009, techcodeview.com_founded: 2009 0x6C1: 1729 -10010010101: -1173>

Zeitkomplexität: O(n) // n ist die Länge der Zeichenfolge.

js base64 dekodieren

Nebenraum: O(1)