logo

Funkcija std::stoi v C++

Stoi() je standardna knjižnična funkcija, ki pretvori niz v celo število. Programerji C++ uporabljajo funkcijo, ki pomeni string to integer, za pridobivanje celih števil iz nizov. Poleg tega lahko funkcija stoi() iz niza odstrani druge komponente, kot so končne črke.

Sintaksa:



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

Parametri:

  1. Niz, ki ga je treba transformirati, je prvi parameter.
  2. Lokacija celega števila, ki se uporablja za spremljanje števila prebranih znakov. V tem scenariju se ne uporablja, če je ta parameter ničelni kazalec.
  3. Tretji in zadnji parameter je osnova. Format zaporedja določa uporabljeno osnovo, če je ta 0. Uporablja osnovo 10 (decimalno), če ni posredovan noben argument.

Primeri:

Vnos: 1NoProgrammer;



Izhod: 1

Vnos : HelloWorld54;

Izhod : prekini klicano po vrženju primerka 'std::invalid_argument'



Pojasnilo: To povzroči napako, ker če prvi znak ni celo število, se funkcija stoi() zaključi

psevdokoda java

Vnos : Imate 1 tipkovnico;

Izhod : prekini klicano po vrženju primerka 'std::invalid_argument'

kaj(): stoji

Vrsta vračila: Vrednost niza argumenta, posredovanega v stoji() funkcija je vrnjena kot celo število.

če parafraziram Rudyarda Kiplinga

Kako deluje?

Funkcija stoi(), ki sprejme niz kot argument, lahko pretvori celoštevilsko komponento niza v celoštevilski tip. Upošteval bo samo celoštevilske vrednosti do prvega neceloštevilskega elementa ali konca niza.

Ko izvedemo spodnji program, se med izvajanjem prikaže napaka. To je posledica dejstva, da funkcija stoi() preneha prečkati niz, ko naleti na znak, ki ni celo število, ali na presledek. Funkcija stoi() se izklopi, če začetni znak ni celo število.

primer:

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

>

>

razvrsti arraylist v Javi
terminate called after throwing an instance of 'std::invalid_argument' what(): stoi>

Prikaže napako, ker funkcija stoi() naleti na presledek pred 1.

primer:

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

>

>

Izhod

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

Časovna zahtevnost: O(n) // n je dolžina niza.

razveljavi zadnjo objavo

Pomožni prostor: O(1)