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 int
væ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 NaN
udtryk 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