C ++ atol () - C ++ standartinė biblioteka

Funkcija atol () C ++ interpretuoja eilutės turinį ir grąžina jai atitinkamą sveiko skaičiaus vertę.

atol () prototipas

 ilgas int atol (const char * str);

Tai apibrėžta antraštės faile.

Funkcija „atol ()“ užima eilutę kaip parametrą, jos turinį interpretuoja kaip vientisą skaičių ir grąžina atitinkamą reikšmę long int.

atol () parametrai

  • str - eilutė, turinti vientisą skaičių.

atol () Grąžinimo vertė

Funkcija atol () grąžina:

  • long intvertė (kuris yra paverčiamas iš eilutę).
  • 0, jei nepavyko atlikti galiojančio konvertavimo.

Jei konvertuota vertė yra už diapazono ribų, tai sukelia neapibrėžtą elgesį.

1 pavyzdys: Kaip veikia 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; ) 

Kai paleisite programą, išvestis bus:

 Skaičius eilutėje = ​​-114 Skaičius ilgoje Int = -114

Galiojančią funkcijos „atol ()“ sveikąją vertę sudaro pasirenkamasis ženklas „+“ arba „-“, po kurio seka skaitmenys (0–9) . Funkcija atol () nepalaiko šešioliktainės, begalybės ir NaNišraiškos, tokios kaip funkcija atof ().

Apskritai, galiojantis sveiko skaičiaus argumentas atol () funkcijai yra tokia:

 (tarpai) (- | +) (skaitmenys)

Funkcija atol () ignoruoja visus pagrindinius tarpų simbolius, kol bus rastas pagrindinis ne tarpo simbolis.

Tada, pradedant nuo šio simbolio, reikia kuo daugiau simbolių, kurie suformuoja galiojantį sveikojo skaičiaus vaizdą ir paverčia juos ilga int reikšme. Nepaisant to, kas lieka eilutėje po paskutinio galiojančio simbolio, tai neturi įtakos rezultatui.

2 pavyzdys: atol () funkcija su tarpais ir baigiamaisiais simboliais

 #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; )

Kai paleisite programą, išvestis bus:

 Skaičius eilutėje = ​​13 Skaičius ilgoje Int = 13 Skaičius eilutėje = ​​25 Skaičius ilgoje Int = 25 Skaičius eilutėje = ​​41,90abcd Skaičius ilgoje Int = 41 abcd14 iki Ilgasis Int = 0

Įdomios straipsniai...