Stoi() este o funcție standard de bibliotecă care transformă un șir într-un număr întreg. Programatorii C++ folosesc funcția, care înseamnă șir la întreg, pentru a obține numere întregi din șiruri. În plus, funcția stoi() poate elimina alte componente, cum ar fi literele finale din șir.
Sintaxă:
int stoi (string s, size_t* position = 0, int base = 10)>
Parametri:
- Șirul care trebuie transformat este primul parametru.
- Locația unui număr întreg folosit pentru a urmări câte caractere au fost citite. În acest scenariu, nu este utilizat dacă acest parametru este un pointer nul.
- Al treilea și ultimul parametru este baza. Formatul secvenței determină baza utilizată dacă aceasta este 0. Folosește baza 10 (zecimală) dacă nu este transmis niciun argument.
Exemple:
Intrare: 1Fără programator;
Ieșire: 1
Intrare : HelloWorld54;
Ieșire : terminate apelat după ce a lansat o instanță de „std::invalid_argument”
Explicaţie: Acest lucru dă o eroare, deoarece dacă primul caracter nu este un întreg, funcția stoi() se termină
aliniați imaginea cu cssIntrare : Ai 1 tastatură;
Ieșire : terminate apelat după ce a lansat o instanță de „std::invalid_argument”
ce(): stă
Tip returnare: Valoarea șirului unui argument transmis către permanent() funcția este returnată ca număr întreg.
Cum functioneaza?
Funcția stoi(), care acceptă un șir ca argument, poate converti componenta întreagă a unui șir într-un tip întreg. Acesta va lua în considerare numai valori întregi până la primul element non-intreg sau la sfârșitul șirului.
matrice dinamică în java
Când executăm programul de mai jos, va fi produsă o eroare în timpul execuției. Acest lucru se datorează faptului că funcția stoi() încetează să traverseze șirul atunci când întâlnește un caracter non-întreg sau un caracter de spațiu alb. Funcția stoi() iese dacă caracterul inițial nu este un întreg.
Exemplu:
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;> }> |
>
>
instanță de java
terminate called after throwing an instance of 'std::invalid_argument' what(): stoi>
Dă o eroare deoarece funcția stoi() întâlnește un caracter alb înainte de 1.
Exemplu:
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;> }> |
>
>Ieșire
2009, techcodeview.com_founded: 2009 0x6C1: 1729 -10010010101: -1173>
Complexitatea timpului: O(n) // n este lungimea șirului.
java inversând un șir
Spatiu auxiliar: O(1)