C ++ atol () - standardní knihovna C ++

Funkce atol () v C ++ interpretuje obsah řetězce a vrací jeho odpovídající celočíselnou hodnotu.

atol () Prototyp

 long int atol (const char * str);

Je definován v hlavičkovém souboru.

Funkce atol () bere jako parametr řetězec, interpretuje jeho obsah jako celé číslo a vrací odpovídající hodnotu long int.

atol () Parametry

  • str - Řetězec mající zastoupení celočíselného čísla.

atol () Vrátit hodnotu

Funkce atol () vrací:

  • long inthodnota (která se převede z řetězce).
  • 0, pokud nelze provést platný převod.

Pokud je převedená hodnota mimo rozsah, způsobí to nedefinované chování.

Příklad 1: Jak funguje funkce 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; ) 

Když spustíte program, výstup bude:

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

Platná celočíselná hodnota pro funkci atol () se skládá z volitelného znaménka + nebo - následovaného číselnými číslicemi (0-9) . Funkce atol () nepodporuje hexadecimální, nekonečno a NaNvýraz jako funkce atof ().

Platný celočíselný argument pro funkci atol () má obecně následující tvar:

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

Funkce atol () ignoruje všechny úvodní prázdné znaky, dokud není nalezen primární znak bez mezer.

Poté, počínaje tímto znakem, trvá co nejvíce znaků, které vytvoří platnou celočíselnou reprezentaci a převede je na dlouhou hodnotu int. Cokoli, co zbylo z řetězce po posledním platném znaku, je ignorováno a nemá to žádný vliv na výsledek.

Příklad 2: Funkce atol () s mezerami a koncovými znaky

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

Když spustíte program, výstup bude:

 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

Zajímavé články...