Atol () -funktio C ++: ssa tulkitsee merkkijonon sisällön ja palauttaa sen vastaavan kokonaisluvun arvon.
atol () Prototyyppi
pitkä int atol (const char * str);
Se määritetään otsikkotiedostossa.
Atol () -funktio ottaa merkkijonon parametrina, tulkitsee sen sisällön kokonaisluvuksi ja palauttaa vastaavan arvon long int
.
atol () -parametrit
- str - merkkijono, jolla on kokonaisluku.
atol () Palautusarvo
Atol () -funktio palauttaa:
long int
arvo (joka on muunnettu merkkijono).- 0, jos kelvollista muunnosta ei voitu suorittaa.
Jos muunnettu arvo on alueen ulkopuolella, se aiheuttaa määrittelemätöntä käyttäytymistä.
Esimerkki 1: Kuinka atol () -toiminto toimii?
#include #include using namespace std; int main() ( char s() = "-114"; double number; cout << "Number in String = " << s << endl; number = atol(s); cout << "Number in Long Int = " << number; return 0; )
Kun suoritat ohjelmaa, tulos on:
Numero merkkijonossa = -114 Numero pitkässä keskiarvossa = -114
Funktion atol () kelvollinen kokonaisluku koostuu valinnaisesta + tai - -merkistä, jota seuraa numeeriset numerot (0-9) . Atol () -funktio ei tue heksadesimaali-, NaN
ääretön- ja lauseketta kuten atof () -funktio.
Yleensä atol () -funktion kelvollinen kokonaisluku argumentti on seuraavassa muodossa:
(välilyönti) (- | +) (numeroa)
Atol () -funktio jättää huomiotta kaikki johtavat välilyönnin merkit, kunnes ensisijainen ei-välilyönti-merkki löytyy.
Sitten tästä merkistä alkaen tarvitaan mahdollisimman monta merkkiä, jotka muodostavat kelvollisen kokonaislukuesityksen ja muuntaa ne pitkäksi int-arvoksi. Merkkijonosta jäljellä oleva tieto viimeisen kelvollisen merkin jälkeen jätetään huomiotta, eikä sillä ole vaikutusta tulokseen.
Esimerkki 2: atol () -funktio, jossa on välilyönti ja loppumerkit
#include #include using namespace std; int main() ( cout << "Number in String = " << " 13" << endl; cout << "Number in Long Int = " << atol(" 13") << endl << endl; cout << "Number in String = " << " 25 " << endl; cout << "Number in Long Int = " << atol(" 25 ") << endl << endl; cout << "Number in String = " << "41.90abcd" << endl; cout << "Number in Long Int = " << atol("41.90abcd") << endl << endl; // Returns 0 because of invalid conversion cout << "abcd14" << " to Long Int = " << atol("abcd14") << endl; return 0; )
Kun suoritat ohjelmaa, tulos on:
Numero merkkijonossa = 13 Numero pitkässä keskiarvossa = 13 Numero merkkijonossa = 25 Numero pitkässä keskiarvossa = 25 Numero merkkijonossa = 41,90abcd Numero pitkässä keskiarvossa = 41 abcd14 - Pitkä keskiarvo = 0