Funcția atol () din C ++ interpretează conținutul unui șir și returnează valoarea sa corespunzătoare în întregime.
atol () Prototip
long int atol (const char * str);
Este definit în fișierul antet.
Funcția atol () ia șir ca parametru, interpretează conținutul său ca un număr integral și returnează valoarea corespunzătoare în long int
.
atol () Parametri
- str - Un șir având reprezentarea unui număr întreg.
atol () Valoare returnată
Funcția atol () returnează:
- o
long int
valoare (care este convertită din șir). - 0 dacă nu s-a putut efectua o conversie validă.
Dacă valoarea convertită este în afara intervalului, aceasta provoacă un comportament nedefinit.
Exemplul 1: Cum funcționează funcția 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; )
Când rulați programul, ieșirea va fi:
Număr în șir = -114 Număr în lung Int = -114
O valoare întreagă validă pentru funcția atol () constă dintr-un semn opțional + sau - urmat de cifre numerice (0-9) . Funcția atol () nu acceptă funcția hexadecimală, infinită și NaN
expresie ca funcția atof ().
În general, un argument întreg valid pentru funcția atol () are următoarea formă:
(spațiu alb) (- | +) (cifre)
Funcția atol () ignoră toate caracterele de spațiu alb principal până când se găsește caracterul principal non-spațiu alb.
Apoi, începând de la acest caracter, este nevoie de cât mai multe caractere care formează o reprezentare întreagă validă și le convertește într-o valoare int lungă. Orice a rămas din șir după ultimul caracter valid este ignorat și nu are niciun efect asupra rezultatului.
Exemplul 2: funcția atol () cu spațiu alb și caractere finale
#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; )
Când rulați programul, ieșirea va fi:
Număr în șir = 13 Număr în lung Int = 13 Număr în șir = 25 Număr în lung Int = 25 Număr în șir = 41.90abcd Număr în lung Int = 41 abcd14 până la Int lung = 0