Stol() funktsioon C++ keeles

Stol Funktsioon C Keeles



C++ on üks populaarsemaid ja vanimaid programmeerimiskeeli, mida kasutatakse suure jõudlusega rakenduste arendamiseks. Seda kasutatakse kõrgelt kogenud programmeerijate ja algajate arendajate seas. Seda kasutatakse peamiselt mängude arendamisel ja see on ideaalne võimalus operatsioonisüsteemide arendamiseks. Kui kirjutate koodi C++ keeles, võite kokku puutuda andmete teisendamisega ühest tüübist teise. Sellest artiklist saate teada, kuidas stringi teisendada pikaks täisarvuks. Stringi muusse vormingusse teisendamine on üsna keeruline. Programmeerimiskeel C++ pakub aga kiiret ja tõhusat viisi stringide täisarvudeks teisendamiseks.

stol Funktsioon C++ keeles

Stol on C++ sisseehitatud funktsioon, mis on saadaval standardraamatukogus. See teisendab stringid pikkadeks täisarvudeks. See teisendab stringi sisu määratud baasi täisarvuks ja tagastab pika täisarvu väärtuse. See võtab kolm parameetrit, üks on sisendstring, teine ​​on objekti parameeter ja kolmas on numbriline alus. Stoli funktsiooni süntaks on toodud allpool, vaadake:









Funktsioonil stol on kolm parameetrit: input_string, size ja base. 'Input_string' tähistab sisendstringi, mis tuleb teisendada pikaks täisarvuks.



Parameeter “size” tähistab suurus_t tüüpi objekti, mis kannab numbrilise väärtuse järel sisendstringis järgmist märgipositsiooni. See võib olla nullkursor, kui seda ei nõuta.





Kolmas parameeter, parameeter “base”, tähistab baasi, milles stringi tuleb tõlgendada. Näiteks kui on antud alus „2”, tõlgendatakse stringi täisarvu 2. põhinumbrina. Põhiparameetri vaikeväärtus on 10 ja kui on antud 0, määrab baasväärtuse jada vorming. Funktsioon stol tagastab pika täisarvu, mis tähistab antud stringi int väärtust.

Nüüd uurime mõnda näidet, et mõista, kuidas stol funktsioon C++ keeles töötab.



Näide nr 1

Selles näites esitame kümnend- ja kuueteistkümnendsüsteemi stringid, et kontrollida, kuidas stol funktsioon teisendab need kümnend- ja kuueteistkümnendsüsteemi täisarvudeks.

„dec = 123456789” on kümnendstring, mis teisendatakse pikaks täisarvuks, kasutades funktsiooni stol (dec,&size). Pange tähele, et funktsioonis ei pakuta alust sisendparameetrina, mistõttu kasutatakse stringi kümnendarvuks teisendamiseks vaikimisi alust 10. Kuid stringi kuueteistkümnendarvust kümnendarvuks teisendamiseks antakse sisendparameetrina stol(hex, nullptr, 16) alus 16. Nagu me teame, tähistab 16 alust kuueteistkümnendsüsteemi arvu.

#include

#include

#include

int peamine ( )

{

std :: string dets = '123456789' ;
std :: string hex = 'a2bf3c' ;
std :: string :: suuruse_tüüp suurus ;
pikk lidec = std :: laud ( detsember, & suurus ) ;
pikk lihex = std :: laud ( kuuskant, nullptr , 16 ) ;
std :: cout << 'Sisesta kümnendstring' << dets << ' teisendatud pikaks int ' << lidec << ' \n ' ;
std :: cout << 'Sisestage kuueteistkümnendsüsteemi string' << hex << ' teisendatud pikaks int ' << lihex << ' \n ' ;
tagasi 0 ;


}

Siin on järgmine väljund. Pange tähele, et kümnendstring „123456789” teisendati kümnendkoha pikaks täisarvuks „123456789”. Samal ajal kui kuueteistkümnendstring 'a2bf3c' teisendati kuueteistkümnendarvuks '10665788'. Siin on vajalikud sammud, mida saate järgida, et saada teavet selle kohta, kuidas stol funktsioon teisendab:

( A2BF3C ) ₁₆ = ( 10 × 16 ) + ( kaks × 16 ) + ( üksteist × 16 ³ ) + ( viisteist × 16 ² ) + ( 3 × 16 ¹ ) + ( 12 × 16 ) = ( 10665788 ) ₁0

Näide nr 2

Selles näites teisendame kahendarvu funktsiooni stol abil. Vaatame allolevat koodi ja mõistame koodi toimimist. '1010110110' on antud sisendstringina ja alus 2 on esitatud sisendi baasparameetrina stol(bin,&size, 2), mis tähistab arvu binaarvormingus. Funktsioon Stol teisendab kahendarvu kümnendarvuks, järgides järgmisi samme:

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

#include

#include

int peamine ( )

{

std :: string prügikast = '1010110110' ;
std :: string :: suuruse_tüüp suurus ;
pikk libin = std :: laud ( prügikast, & suurus, kaks ) ;
std :: cout << 'Sisestage binaarne string' << prügikast << ' teisendatud pikaks int ' << libin << ' \n ' ;
tagasi 0 ;


}

Nagu näete, andis stol funktsioon sama tulemuse, mida andis üldine binaarkood koma teisendusprotsess.

Näide nr 3

Selles näites näeme, mis juhtub, kui testime funktsiooni stol vale sisendiga. Funktsioonile stol antakse mitmest tähemärgist koosnev string ja põhiväärtuseks 0, nii et funktsioon määrab stringi aluse automaatselt. Siin on kood:

Märkide komplekt esitatakse sisendstringina, mis ei ole määratud ühegi põhiväärtusega, st 10, 16, 2 jne, nii et funktsioon tagastab veaväärtuse.

#include

#include

#include

int peamine ( )

{

std :: string chr = 'abcdefgh' ;

std :: string :: suuruse_tüüp suurus ;
pikk str = std :: laud ( chr, nullptr , 0 ) ;
std :: cout << 'Sisestage märgistring' << chr << ' teisendatud pikaks int ' << str << ' \n ' ;
tagasi 0 ;


}

Vaadake väljundit allpool. Pange tähele, et kompilaator on lisanud erandi 'invalid_argument', kuna funktsioon ei käsitle stringe, mida ei saa ühegi põhiväärtusega määrata.

Näide nr 4

Selles näites pakume funktsiooni stol() tulemuse nägemiseks kehtiva ja kehtetu sisendi kombinatsiooni.

Sisendstring on kehtivate ja kehtetute märkide kombinatsioon '123xf25'. '0' on sisestusbaas, nii et funktsioon määrab automaatselt sisendstringi aluse märkide tüübi alusel.

#include

#include

#include

int peamine ( )

{

std :: string chr = '123xf25' ;
std :: string :: suuruse_tüüp suurus ;
pikk str = std :: laud ( chr, nullptr , 0 ) ;
std :: cout << 'Sisendstring' << chr << ' teisendatud pikaks int ' << str << ' \n ' ;
tagasi 0 ;


}

Siin on väljund, mis näitab funktsiooni stol tööd kehtiva ja kehtetu sisendi kombinatsiooniga:

Pange tähele, et funktsioon teisendas '123' kümnendarvuks '123' ja jättis ülejäänud stringi kõrvale, kuna sai vale sisendi 'x'. Märgi “x” järel olevat stringi funktsioon stol ei teisenda, tagastades ainult stringi esimesed märgid pikkusena int.

Järeldus

Selles postituses uurisime C++ programmeerimiskeele stol funktsiooni. Mõnede kasulike ja lihtsate näidete abil saime teada, kuidas stol funktsioon töötab erinevat tüüpi sisenditega. Funktsioonil stol on kolm parameetrit: sisendstring, mis tuleb teisendada, suuruse parameeter, mis tähistab funktsiooni asukohta stringis, ja baasväärtus, mis tähistab sisendstringi alust. Tagastab sisendstringi pika int väärtuse.