Funkcija atol () C ++ interpretē virknes saturu un atgriež tai atbilstošo vesela skaitļa vērtību.
atol () Prototips
ilgi int atol (const char * str);
Tas ir definēts galvenes failā.
Funkcija atol () ņem virkni kā parametru, interpretē tās saturu kā integrālu skaitli un atgriež atbilstošo vērtību long int
.
atol () parametri
- str - virkne ar neatņemama skaitļa attēlojumu.
atol () Atgriešanās vērtība
Funkcija atol () atgriež:
long int
vērtība (ko pārvērš no virknes).- 0, ja nevarēja veikt derīgu konversiju.
Ja konvertētā vērtība ir ārpus diapazona, tā izraisa nedefinētu rīcību.
1. piemērs: Kā darbojas funkcija atol ()?
#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; )
Palaidot programmu, izeja būs:
Skaitlis virknē = -114 Skaitlis garajā vidējā vērtībā = -114
Funkcijas atol () derīga veselā skaitļa vērtība sastāv no izvēles zīmes + vai -, kam seko cipari (0–9) . Funkcija atol () neatbalsta heksadecimālo, bezgalīgo un NaN
izteiksmi, piemēram, atof () funkciju.
Parasti derīgam vesela skaitļa argumentam funkcijai atol () ir šāda forma:
(atstarpe) (- | +) (cipari)
Funkcija atol () ignorē visas vadošās atstarpes rakstzīmes, līdz tiek atrasts primārais raksturs, kas nav atstarpes.
Tad, sākot ar šo rakstzīmi, ir nepieciešams pēc iespējas vairāk rakstzīmju, kas veido derīgu vesela skaitļa attēlojumu un pārveido tos par garu int vērtību. Tas, kas paliek pāri no virknes pēc pēdējās derīgās rakstzīmes, tiek ignorēts un neietekmē rezultātu.
2. piemērs: funkcija atol () ar atstarpi un beigu rakstzīmēm
#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; )
Palaidot programmu, izeja būs:
Skaitlis virknē = 13 Skaitlis garajā vidējā vērtībā = 13 Skaitlis virknē = 25 Skaitlis garajā vidējā vērtībā = 25 Skaitlis virknē = 41,90abcd Skaitlis garajā vidējā vērtībā = 41 abcd14 līdz Garais vidējais = 0