Stol() Funktion i C++

Stol Funktion I C



C++ er et af de mest populære og ældste programmeringssprog, der bruges til udvikling af højtydende applikationer. Det bruges blandt meget ekspert programmører og nybegyndere. Det bruges hovedsageligt i spiludvikling og er en ideel mulighed for at udvikle operativsystemer. Når du skriver kode i C++ sproget, kan du støde på at konvertere data fra en type til en anden. I denne artikel lærer du at konvertere en streng til et langt heltal. Det er ret svært at konvertere en streng til et hvilket som helst andet format. C++ programmeringssproget giver dog en hurtig og effektiv måde at konvertere strenge til heltal.

stol Funktion i C++

Stolen er en C++ indbygget funktion, der findes i std-biblioteket. Det konverterer strenge til lange heltal. Det konverterer strengindholdet til et heltal af den angivne base og returnerer en lang heltalsværdi. Det kræver tre parametre, den ene er inputstrengen, den anden er objektparameteren, og den tredje er den numeriske base. Syntaksen for stol-funktionen er givet nedenfor, se:









Funktionen stol tager tre parametre: input_string, size og base. 'Input_string' repræsenterer inputstrengen, der skal konverteres til et langt heltal.



Parameteren 'størrelse' repræsenterer objektet af typen size_t, som bærer den næste tegnposition i inputstrengen efter den numeriske værdi. Det kan være en nul-pointer, hvis det ikke er nødvendigt at bruge det.





Den tredje parameter, 'base'-parameteren repræsenterer den base, hvori strengen skal fortolkes. For eksempel, hvis '2'-basen er angivet, vil strengen blive fortolket som heltal-base 2-tallet. Standardværdien for basisparameteren er 10, og hvis 0 er angivet, vil basisværdien blive bestemt af formatet i sekvensen. Stol-funktionen returnerer det lange heltal, der repræsenterer int-værdien af ​​en given streng.

Lad os nu udforske nogle eksempler for at forstå, hvordan stol-funktionen fungerer i C++.



Eksempel #1

I dette eksempel vil vi give decimale og hexadecimale strenge for at kontrollere, hvordan stol-funktionen konverterer dem til decimale og hexadecimale heltal.

'dec = 123456789' er en decimalstreng og konverteret til et langt heltal ved hjælp af stol-funktionen stol(dec,&size). Bemærk, at grundtallet ikke er angivet i funktionen som en inputparameter, der som følge heraf bruger standardbasen 10 til at konvertere strengen til et decimaltal. For at konvertere strengen fra et hexadecimalt tal til et decimaltal er grundtallet 16 dog angivet som inputparameteren stol(hex, nullptr, 16). Som vi ved, repræsenterer 16-basen et hexadecimalt tal.

#include

#inkluder

#include

int vigtigste ( )

{

std :: snor dec = '123456789' ;
std :: snor hex = 'a2bf3c' ;
std :: snor :: størrelses Type størrelse ;
lang lidec = std :: bord ( dec, & størrelse ) ;
lang lihex = std :: bord ( hex, nullptr , 16 ) ;
std :: cout << 'Indtast decimalstreng' << dec << 'konverteret til lang int' << lidec << ' \n ' ;
std :: cout << 'Indtast hexadecimal streng' << hex << 'konverteret til lang int' << lihex << ' \n ' ;
Vend tilbage 0 ;


}

Her er følgende output. Bemærk, at decimalstrengen '123456789' konverteres til '123456789' decimal langt heltal. Mens den hexadecimale streng 'a2bf3c' konverterede til '10665788' hexadecimalt tal. Her er de nødvendige trin, som du kan følge for at lære, hvordan konverteringen udføres af stol-funktionen:

( A2BF3C ) ₁₆ = ( 10 × 16 ) + ( to × 16 ) + ( elleve × 16 ³ ) + ( femten × 16 ² ) + ( 3 × 16 ¹ ) + ( 12 × 16 ) = ( 10665788 ) ₁₀

Eksempel #2

I dette eksempel vil vi konvertere et binært tal ved hjælp af stol-funktionen. Lad os se koden nedenfor og forstå kodens funktion. '1010110110' er angivet som inputstrengen, og base 2 er angivet som inputbasisparameter stol(bin,&størrelse, 2), der repræsenterer tallet i binært format. Stol-funktionen konverterer det binære tal til et decimaltal ved at følge disse trin:

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

#inkluder

#include

int vigtigste ( )

{

std :: snor beholder = '1010110110' ;
std :: snor :: størrelses Type størrelse ;
lang libin = std :: bord ( beholder, & størrelse, to ) ;
std :: cout << 'Input binær streng' << beholder << 'konverteret til lang int' << libin << ' \n ' ;
Vend tilbage 0 ;


}

Som du kan se, at stol-funktionen returnerede det samme resultat som den generelle binære til decimal konverteringsproces gjorde.

Eksempel #3

I dette eksempel skal vi se, hvad der sker, hvis vi tester stol-funktionen med ugyldig input. En streng med flere tegn vil blive leveret til stol-funktionen, og 0 vil blive angivet som basisværdien, så funktionen vil bestemme strengens basis automatisk. Her er koden:

Et sæt tegn leveres som en inputstreng, der ikke er bestemt af nogen basisværdier, dvs. 10, 16, 2 osv., så funktionen returnerer en fejlværdi.

#include

#inkluder

#include

int vigtigste ( )

{

std :: snor chr = 'abcdefgh' ;

std :: snor :: størrelses Type størrelse ;
lang str = std :: bord ( chr, nullptr , 0 ) ;
std :: cout << 'Indtast tegnstreng' << chr << 'konverteret til lang int' << str << ' \n ' ;
Vend tilbage 0 ;


}

Se output nedenfor. Bemærk, at compileren har rejst en 'ugyldig_argument'-undtagelse, da funktionen ikke henvender sig til strenge, der ikke kan bestemmes med nogen basisværdi.

Eksempel #4

I dette eksempel vil vi give en kombination af gyldigt og ugyldigt input for at se resultatet af stol()-funktionen.

Indtastningsstrengen er en kombination af gyldige og ugyldige tegn, '123xf25'. '0' er angivet som en inputbase, så funktionen bestemmer basisen for inputstrengen automatisk baseret på typen af ​​tegn.

#include

#inkluder

#include

int vigtigste ( )

{

std :: snor chr = '123xf25' ;
std :: snor :: størrelses Type størrelse ;
lang str = std :: bord ( chr, nullptr , 0 ) ;
std :: cout << 'Input streng' << chr << 'konverteret til lang int' << str << ' \n ' ;
Vend tilbage 0 ;


}

Her er output, der viser stol-funktionens virkemåde med en kombination af gyldigt og ugyldigt input:

Bemærk, at funktionen konverterede '123' til decimaltal '123' og kasserede resten af ​​strengen, da den modtog et ugyldigt input 'x'. Strengen efter tegnet 'x' konverteres ikke af stol-funktionen, og returnerer kun de første tegn i strengen som long int.

Konklusion

I dette indlæg udforskede vi stol-funktionen af ​​programmeringssproget C++. Ved hjælp af nogle nyttige og enkle eksempler lærte vi, hvordan stol-funktionen fungerer med forskellige typer input. Stol-funktionen tager tre parametre, den inputstreng, der skal konverteres, en størrelsesparameter, der repræsenterer funktionens position i strengen, og basisværdien, der repræsenterer inputstrengens basis. Det returnerer den lange int-værdi af inputstrengen.