Funktsioon atol () C ++ keeles tõlgendab stringi sisu ja tagastab selle vastava täisarvu.
atol () prototüüp
pikk int atol (const char * str);
See on määratletud päisefailis.
Funktsioon atol () võtab parameetrina stringi, tõlgendab selle sisu integraalarvuna ja tagastab vastava väärtuse long int
.
atol () parameetrid
- str - string, millel on integraalarv.
atol () Tagastusväärtus
Funktsioon atol () tagastab:
long int
väärtust (mis muutub alates string).- 0, kui kehtivat teisendamist ei õnnestunud teha.
Kui teisendatud väärtus jääb vahemikust välja, põhjustab see määratlemata käitumist.
Näide 1: Kuidas funktsioon atol () töötab?
#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; )
Programmi käivitamisel on väljund järgmine:
Number stringis = -114 Number pikkuses Int = -114
Funktsiooni atol () kehtiv täisarv koosneb valikulisest + või - märgist, millele järgneb numbriline number (0–9) . Funktsioon atol () ei toeta funktsiooni hexadecimal, lõpmatus ja NaN
väljendit nagu atof ().
Üldiselt on funktsiooni atol () kehtiv täisarvu argument järgmisel kujul:
(tühik) (- | +) (numbrit)
Funktsioon atol () eirab kõiki juhtivaid tühimärke, kuni leitakse esmane tühimärk.
Seejärel, alates sellest märgist, võtab see võimalikult palju märke, mis moodustavad kehtiva täisarvu kujutise ja teisendavad need pikaks int-väärtuseks. Kõik, mis jääb stringist järele pärast viimase kehtiva märgi eiramist, ei mõjuta tulemust.
Näide 2: funktsioon atol () koos tühiku ja lõpumärkidega
#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; )
Programmi käivitamisel on väljund järgmine:
Number stringis = 13 Number pikas keskmises = 13 Number stringis = 25 number pikas keskmises = 25 number stringis = 41,90abcd arv pikas keskmises = 41 abcd14 kuni pikas keskmises = 0