A C ++ - ban található atol () függvény értelmezi a karakterlánc tartalmát, és visszaadja annak megfelelő egész értéket.
atol () Prototípus
hosszú int atol (const char * str);
A fejlécfájlban van meghatározva.
Az atol () függvény a karakterláncot veszi paraméterként, tartalmát integrálszámként értelmezi, és a megfelelő értéket adja vissza long int
.
atol () Paraméterek
- str - Karakterlánc, amely integrálszámot képvisel.
atol () Visszatérési érték
Az atol () függvény visszatér:
- egy
long int
érték (amelyet a karakterláncból konvertálunk). - 0, ha nem lehet érvényes konverziót végrehajtani.
Ha az átalakított érték kívül esik a tartományon, akkor ez meghatározatlan viselkedést okoz.
1. példa: Hogyan működik az atol () függvény?
#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; )
A program futtatásakor a kimenet a következő lesz:
Szám stringben = -114 Szám hosszú int = -114
Az atol () függvény érvényes egész értéke egy opcionális + vagy - előjelből áll, amelyet számjegyek (0–9) követnek . Az atol () függvény nem támogatja a hexadecimális, végtelen és olyan NaN
kifejezést, mint az atof () függvény.
Általában az atol () függvény érvényes egész argumentuma a következő formában van:
(szóköz) (- | +) (számjegy)
Az atol () függvény mindaddig figyelmen kívül hagyja az összes vezető szóközt, amíg az elsődleges nem fehér szóköz megtalálható.
Ezután, ebből a karakterből kiindulva, a lehető legtöbb karakterre van szükség, amely érvényes egész ábrázolást alkot, és hosszú int értékké alakítja őket. Bármi, ami az utolsó érvényes karakter után marad a karakterláncból, figyelmen kívül marad, és nincs hatása az eredményre.
2. példa: atol () függvény szóközzel és záró karakterekkel
#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; )
A program futtatásakor a kimenet a következő lesz:
Szám stringben = 13 szám hosszú int = 13 szám stringben = 25 szám hosszú int = 25 szám stringben = 41,90abcd szám hosszú int = 41 abcd14 - hosszú int = 0