C ++ atol () - C ++ standardna biblioteka

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 intvrijednost (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 NaNizraz 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

Zanimljivi članci...