C ++ atol () - C ++ -kirjasto

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 intarvo (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

Mielenkiintoisia artikkeleita...