C ++ atol () - C ++ standardbibliotek

Funktionen atol () i C ++ fortolker indholdet af en streng og returnerer dens tilsvarende heltal.

atol () prototype

 lang int-atol (const char * str);

Det er defineret i header-fil.

Funktionen atol () tager streng som parameter, fortolker dens indhold som et integreret tal og returnerer den tilsvarende værdi i long int.

atol () Parametre

  • str - En streng med repræsentation af et integralt tal.

atol () Returværdi

Funktionen atol () returnerer:

  • en long intværdi (som konverteres fra strengen).
  • 0, hvis der ikke kunne udføres nogen gyldig konvertering.

Hvis den konverterede værdi er uden for området, forårsager den udefineret adfærd.

Eksempel 1: Hvordan fungerer atol () -funktionen?

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

Når du kører programmet, vil output være:

 Antal i streng = -114 Nummer i lang intensitet = -114

En gyldig heltalværdi for atol () -funktionen består af et valgfrit + eller - tegn efterfulgt af numeriske cifre (0-9) . Atol () -funktionen understøtter ikke hexadecimal, uendelig og NaNudtryk som atof () -funktionen.

Generelt har et gyldigt heltalargument for atol () -funktionen følgende form:

 (mellemrum) (- | +) (cifre)

Funktionen atol () ignorerer alle de ledende blanktegn, indtil det primære ikke-hvide mellemrumstegn findes.

Derefter tager det så mange tegn som muligt fra denne karakter, der danner en gyldig heltalrepræsentation og konverterer dem til en lang int-værdi. Uanset hvad der er tilbage af strengen efter det sidste gyldige tegn ignoreres og har ingen indflydelse på resultatet.

Eksempel 2: atol () -funktion med hvidt mellemrum og efterfølgende tegn

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

Når du kører programmet, vil output være:

 Antal i streng = 13 Antal i lang intensitet = 13 Nummer i streng = 25 Antal i lang styrke = 25 Antal i streng = 41,90abcd Antal i lang intensitet = 41 abcd14 til Lang Int = 0

Interessante artikler...