C ++ atol () - Štandardná knižnica C ++

Funkcia atol () v C ++ interpretuje obsah reťazca a vráti jeho zodpovedajúcu celočíselnú hodnotu.

atol () prototyp

 long int atol (const char * str);

Je definované v hlavičkovom súbore.

Funkcia atol () vezme reťazec ako parameter, interpretuje jeho obsah ako celé číslo a vráti zodpovedajúcu hodnotu v long int.

atol () Parametre

  • str - Reťazec, ktorý má celé číslo.

atol () Návratová hodnota

Funkcia atol () vráti:

  • long inthodnota (ktorá sa prevedie z reťazca).
  • 0, ak nie je možné vykonať platný prevod.

Ak je prevedená hodnota mimo rozsah, spôsobí to nedefinované správanie.

Príklad 1: Ako funguje funkcia 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; ) 

Po spustení programu bude výstup:

 Number in String = -114 Number in Long Int = -114

Platná celočíselná hodnota pre funkciu atol () pozostáva z voliteľného znamienka + alebo -, za ktorými nasledujú číselné číslice (0-9) . Funkcia atol () nepodporuje hexadecimálne, nekonečno a NaNvýraz ako funkcia atof ().

Platný celočíselný argument pre funkciu atol () má vo všeobecnosti tento tvar:

 (medzery) (- | +) (číslice)

Funkcia atol () ignoruje všetky vedúce medzery, kým sa nenájde primárny znak bez medzier.

Potom, počnúc týmto znakom, trvá čo najviac znakov, ktoré vytvoria platné celočíselné zastúpenie a prevedú ich na dlhú hodnotu int. Čokoľvek, čo zostane z reťazca po poslednom platnom znaku, je ignorované a nemá to žiadny vplyv na výsledok.

Príklad 2: Funkcia atol () s medzerami a koncovými znakmi

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

Po spustení programu bude výstup:

 Number in String = 13 Number in Long Int = 13 Number in String = 25 Number in Long Int = 25 Number in String = 41.90abcd Number in Long Int = 41 abcd14 to Long Int = 0

Zaujímavé články...