Funktionen atol () i C ++ tolkar innehållet i en sträng och returnerar motsvarande heltal.
atol () Prototyp
lång intol (const char * str);
Det definieras i rubrikfilen.
Funktionen atol () tar sträng som parameter, tolkar dess innehåll som ett integrerat tal och returnerar motsvarande värde i long int
.
atol () Parametrar
- str - En sträng som representerar ett integrerat tal.
atol () Returvärde
Funktionen atol () returnerar:
- ett
long int
värde (som konverteras från strängen). - 0 om ingen giltig konvertering kunde utföras.
Om det konverterade värdet ligger utanför intervallet orsakar det odefinierat beteende.
Exempel 1: Hur fungerar 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ör programmet blir resultatet:
Antal i sträng = -114 Antal i långa int = -114
Ett giltigt heltalsvärde för atol () -funktionen består av ett valfritt + eller - tecken följt av numeriska siffror (0-9) . Atol () -funktionen stöder inte hexadecimal, oändlighet och NaN
uttryck som atof () -funktionen.
I allmänhet har ett giltigt heltalargument för atol () -funktionen följande form:
(mellanslag) (- | +) (siffror)
Atol () -funktionen ignorerar alla ledande blankstegstecken tills det primära icke-blankstegstecknet hittas.
Från och med denna karaktär tar det så många tecken som möjligt som bildar en giltig helhetsrepresentation och omvandlar dem till ett långt int-värde. Oavsett vad som är kvar av strängen efter att den sista giltiga karaktären ignoreras och har ingen inverkan på resultatet.
Exempel 2: funktion atol () med mellanslag och efterföljande tecken
#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ör programmet blir resultatet:
Antal i sträng = 13 Antal i långa int = 13 Antal i sträng = 25 Antal i långa int = 25 Antal i sträng = 41,90abcd Antal i långa int = 41 abcd14 till långa int = 0