C ++ atol () - C ++ standaardbibliotheek

De functie atol () in C ++ interpreteert de inhoud van een tekenreeks en retourneert de bijbehorende gehele waarde.

atol () Prototype

 long int atol (const char * str);

Het wordt gedefinieerd in het header-bestand.

De functie atol () neemt string als parameter, interpreteert de inhoud ervan als een geheel getal en retourneert de bijbehorende waarde in long int.

atol () Parameters

  • str - Een tekenreeks met de weergave van een geheel getal.

atol () Retourwaarde

De functie atol () retourneert:

  • een long intwaarde (die wordt geconverteerd uit de string).
  • 0 als er geen geldige conversie kon worden uitgevoerd.

Als de geconverteerde waarde buiten het bereik valt, veroorzaakt dit ongedefinieerd gedrag.

Voorbeeld 1: Hoe werkt de atol () -functie?

 #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; ) 

Wanneer u het programma uitvoert, is de uitvoer:

 Getal in String = -114 Getal in Long Int = -114

Een geldige integerwaarde voor de functie atol () bestaat uit een optioneel + of - teken gevolgd door numerieke cijfers (0-9) . De atol () functie ondersteunt geen hexadecimale, oneindige en NaNexpressie zoals atof () functie.

Over het algemeen heeft een geldig integer-argument voor de functie atol () de volgende vorm:

 (witruimte) (- | +) (cijfers)

De functie atol () negeert alle voorloopspaties totdat het primaire niet-witruimteteken is gevonden.

Vervolgens, beginnend bij dit teken, zijn er zoveel mogelijk tekens nodig die een geldige integer-representatie vormen en deze omzetten in een lange int-waarde. Wat er overblijft van de string na het laatste geldige teken wordt genegeerd en heeft geen effect op het resultaat.

Voorbeeld 2: atol () functie met witruimte en volg tekens

 #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; )

Wanneer u het programma uitvoert, is de uitvoer:

 Getal in String = 13 Getal in Lange Int = 13 Getal in String = 25 Getal in Lange Int = 25 Getal in String = 41.90abcd Getal in Lange Int = 41 abcd14 tot Lange Int = 0

Interessante artikelen...