Funkcia Stol() v C++

Funkcia Stol V C



C++ je jedným z najpopulárnejších a najstarších programovacích jazykov používaných na vývoj vysokovýkonných aplikácií. Používa sa medzi veľmi skúsenými programátormi a začínajúcimi vývojármi. Používa sa hlavne pri vývoji hier a je ideálnou možnosťou pre vývoj operačných systémov. Pri písaní kódu v jazyku C++ sa môžete stretnúť s prevodom údajov z jedného typu na druhý. V tomto článku sa naučíte previesť reťazec na dlhé celé číslo. Je dosť ťažké previesť reťazec do iného formátu. Programovací jazyk C++ však poskytuje rýchly a efektívny spôsob prevodu reťazcov na celé čísla.

Stol Funkcia v C++

Stol je vstavaná funkcia C++ poskytovaná v knižnici std. Prevádza reťazce na dlhé celé čísla. Skonvertuje obsah reťazca na celé číslo zadaného základu a vráti hodnotu dlhého celého čísla. Má tri parametre, jeden je vstupný reťazec, druhý je parameter objektu a tretí je číselný základ. Syntax funkcie stol je uvedená nižšie, pozrite sa:









Funkcia stol má tri parametre: input_string, size a base. „Vstupný_reťazec“ predstavuje vstupný reťazec, ktorý je potrebné previesť na dlhé celé číslo.



Parameter „veľkosť“ predstavuje objekt typu size_t, ktorý nesie ďalšiu pozíciu znaku vo vstupnom reťazci za číselnou hodnotou. Môže to byť nulový ukazovateľ, ak nie je potrebné ho použiť.





Tretí parameter, parameter „base“, predstavuje základ, v ktorom je potrebné reťazec interpretovať. Napríklad, ak je zadaný základ „2“, reťazec bude interpretovaný ako celé číslo so základom 2. Predvolená hodnota základného parametra je 10 a ak je zadaná 0, základná hodnota bude určená formátom v sekvencii. Funkcia stol vracia dlhé celé číslo predstavujúce int hodnotu daného reťazca.

Teraz preskúmame niekoľko príkladov, aby sme pochopili, ako funkcia stol funguje v C++.



Príklad #1

V tomto príklade poskytneme desiatkové a hexadecimálne reťazce, aby sme skontrolovali, ako ich funkcia stol konvertuje na desiatkové a hexadecimálne celé čísla.

„dec = 123456789“ je desiatkový reťazec a skonvertovaný na dlhé celé číslo pomocou funkcie stol stol(dec,&size). Všimnite si, že základ nie je poskytnutý vo funkcii ako vstupný parameter, ktorý v dôsledku toho používa predvolený základ 10 na prevod reťazca na desiatkové číslo. Avšak na konverziu reťazca z hexadecimálneho čísla na desiatkové číslo je poskytnutý základ 16 ako vstupný parameter stol(hex, nullptr, 16). Ako vieme, základ 16 predstavuje hexadecimálne číslo.

#include

#include

#include

int hlavné ( )

{

std :: reťazec dec = '123456789' ;
std :: reťazec hex = 'a2bf3c' ;
std :: reťazec :: size_type veľkosť ;
dlhý lidec = std :: tabuľky ( dec, & veľkosť ) ;
dlhý lihex = std :: tabuľky ( hex, nullptr , 16 ) ;
std :: cout << 'Zadať desiatkový reťazec' << dec << 'konvertované na long int' << lidec << ' \n ' ;
std :: cout << 'Zadajte hexadecimálny reťazec' << hex << 'konvertované na long int' << lihex << ' \n ' ;
vrátiť 0 ;


}

Tu je nasledujúci výstup. Všimnite si, že desiatkový reťazec „123456789“ sa prevedie na dlhé celé desiatkové číslo „123456789“. Zatiaľ čo hexadecimálny reťazec „a2bf3c“ sa skonvertuje na hexadecimálne číslo „10665788“. Tu sú požadované kroky, podľa ktorých sa môžete dozvedieť, ako sa konverzia vykonáva funkciou stol:

( A2BF3C ) ₁₆ = ( 10 × 16 ) + ( dva × 16 ) + ( jedenásť × 16 ³ ) + ( pätnásť × 16 ² ) + ( 3 × 16 ¹ ) + ( 12 × 16 ) = ( 10665788 ) ₁₀

Príklad #2

V tomto príklade prevedieme binárne číslo pomocou funkcie stol. Pozrime sa na kód nižšie a pochopíme fungovanie kódu. „1010110110“ je uvedený ako vstupný reťazec a základ 2 je poskytnutý ako vstupný základný parameter stol(bin,&size, 2), ktorý predstavuje číslo v binárnom formáte. Funkcia stol prevedie binárne číslo na desiatkové číslo podľa týchto krokov:

( 1010110110 ) = ( 1 × dva ) + ( 0 × dva ) + ( 1 × dva ) + ( 0 × dva ) + ( 1 × dva ) + ( 1 × dva ) + ( 0 × dva ³ ) + ( 1 × dva ² ) + ( 1 × dva ¹ ) + ( 0 × dva ) = ( 694 ) ₁₀ #include

#include

#include

int hlavné ( )

{

std :: reťazec kôš = '1010110110' ;
std :: reťazec :: size_type veľkosť ;
dlhý libin = std :: tabuľky ( kôš, & veľkosť, dva ) ;
std :: cout << 'Vstupný binárny reťazec' << kôš << 'konvertované na long int' << libin << ' \n ' ;
vrátiť 0 ;


}

Ako môžete vidieť, funkcia stol vrátila rovnaký výsledok ako všeobecný proces prevodu z binárneho na desiatkové.

Príklad #3

V tomto príklade uvidíme, čo sa stane, ak otestujeme funkciu stol s neplatným vstupom. Funkcii stol bude poskytnutý reťazec viacerých znakov a ako základná hodnota bude poskytnutá 0, takže funkcia automaticky určí základ reťazca. Tu je kód:

Sada znakov je poskytnutá ako vstupný reťazec, ktorý nie je určený žiadnymi základnými hodnotami, t.j. 10, 16, 2 atď., takže funkcia vráti chybovú hodnotu.

#include

#include

#include

int hlavné ( )

{

std :: reťazec chr = 'abcdefgh' ;

std :: reťazec :: size_type veľkosť ;
dlhý str = std :: tabuľky ( chr, nullptr , 0 ) ;
std :: cout << 'Zadajte reťazec znakov' << chr << 'konvertované na long int' << str << ' \n ' ;
vrátiť 0 ;


}

Pozrite si výstup nižšie. Všimnite si, že kompilátor vyvolal výnimku „invalid_argument“, pretože funkcia sa nezaoberá reťazcami, ktoré nemožno určiť so žiadnou základnou hodnotou.

Príklad #4

V tomto príklade poskytneme kombináciu platného a neplatného vstupu, aby sme videli výsledok funkcie stol().

Vstupný reťazec je kombináciou platných a neplatných znakov, „123xf25“. Isg „0“ je poskytnutý ako vstupný základ, takže funkcia automaticky určí základ vstupného reťazca na základe typu znakov.

#include

#include

#include

int hlavné ( )

{

std :: reťazec chr = '123xf25' ;
std :: reťazec :: size_type veľkosť ;
dlhý str = std :: tabuľky ( chr, nullptr , 0 ) ;
std :: cout << 'Vstupný reťazec' << chr << 'konvertované na long int' << str << ' \n ' ;
vrátiť 0 ;


}

Tu je výstup, ktorý ukazuje fungovanie funkcie stol s kombináciou platného a neplatného vstupu:

Všimnite si, že funkcia skonvertovala „123“ na desiatkové číslo „123“ a zvyšok reťazca zahodila, pretože dostal neplatný vstup „x“. Reťazec za znakom „x“ nie je konvertovaný funkciou stol, vracia iba prvé znaky reťazca ako dlhé int.

Záver

V tomto príspevku sme preskúmali funkciu stol programovacieho jazyka C++. Pomocou niekoľkých užitočných a jednoduchých príkladov sme sa naučili, ako funguje funkcia stol s rôznymi typmi vstupov. Funkcia stol má tri parametre, vstupný reťazec, ktorý sa má skonvertovať, parameter veľkosti, ktorý predstavuje pozíciu funkcie v reťazci, a základnú hodnotu, ktorá predstavuje základ vstupného reťazca. Vráti hodnotu long int vstupného reťazca.