Funkcija atol () u C ++ tumači sadržaj niza i vraća mu odgovarajuću cijelu vrijednost.
atol () Prototip
long int atol (const char * str);
Definirano je u datoteci zaglavlja.
Funkcija atol () uzima parametar string, interpretira njegov sadržaj kao integralni broj i vraća odgovarajuću vrijednost u long int
.
atol () Parametri
- str - Niz koji ima prikaz integralnog broja.
atol () Povratna vrijednost
Funkcija atol () vraća:
long int
vrijednost (koji se prevodi iz niza).- 0 ako se nije mogla izvršiti valjana pretvorba.
Ako je pretvorena vrijednost izvan raspona, to uzrokuje nedefinirano ponašanje.
Primjer 1: Kako funkcionira atol () funkcija?
#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; )
Kada pokrenete program, izlaz će biti:
Broj u nizu = -114 Broj u dugom Int = -114
Valjana cjelobrojna vrijednost za funkciju atol () sastoji se od neobaveznog znaka + ili - nakon kojeg slijede numeričke znamenke (0-9) . Funkcija atol () ne podržava heksadecimalnu vrijednost, beskonačnost i NaN
izraz kao funkcija atof ().
Općenito, valjani cjelobrojni argument za funkciju atol () ima sljedeći oblik:
(razmak) (- | +) (znamenke)
Funkcija atol () zanemaruje sve vodeće razmake dok se ne pronađe primarni znak koji nije razmak.
Zatim, počevši od ovog znaka, potrebno je što više znakova koji čine valjanu cjelobrojnu predstavu i pretvaraju ih u dugu int vrijednost. Sve što ostane od niza nakon zadnjeg važećeg znaka, zanemaruje se i nema utjecaja na rezultat.
Primjer 2: funkcija atol () s razmacima i pratećim znakovima
#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; )
Kada pokrenete program, izlaz će biti:
Broj u nizu = 13 Broj u dugom Int = 13 Broj u nizu = 25 Broj u dugom Int = 25 Broj u nizu = 41.90abcd Broj u dugom Int = 41 abcd14 do Long Int = 0