C ++ atol () - biblioteka standardowa języka C ++

Funkcja atol () w C ++ interpretuje zawartość łańcucha i zwraca odpowiadającą mu wartość całkowitą.

atol () Prototype

 long int atol (const char * str);

Jest zdefiniowany w pliku nagłówkowym.

Funkcja atol () przyjmuje ciąg jako parametr, interpretuje jego zawartość jako liczbę całkowitą i zwraca odpowiednią wartość w formacie long int.

atol () Parametry

  • str - ciąg znaków reprezentujący liczbę całkowitą.

atol () Zwracana wartość

Funkcja atol () zwraca:

  • long intwartości (która jest przekształcana z łańcucha).
  • 0, jeśli nie można przeprowadzić żadnej prawidłowej konwersji.

Jeśli przekonwertowana wartość jest poza zakresem, powoduje niezdefiniowane zachowanie.

Przykład 1: Jak działa funkcja 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 uruchomieniu programu wynik będzie następujący:

 Liczba w łańcuchu = -114 Liczba w długich Int = -114

Prawidłowa liczba całkowita dla funkcji atol () składa się z opcjonalnego znaku + lub -, po którym następują cyfry (0-9) . Funkcja atol () nie obsługuje wartości szesnastkowych, nieskończoności i NaNwyrażeń, takich jak funkcja atof ().

Ogólnie rzecz biorąc, prawidłowy argument będący liczbą całkowitą dla funkcji atol () ma następującą postać:

 (białe znaki) (- | +) (cyfry)

Funkcja atol () ignoruje wszystkie początkowe białe znaki, dopóki nie zostanie znaleziony główny znak niebędący białymi znakami.

Następnie, zaczynając od tego znaku, przyjmuje jak najwięcej znaków, które tworzą prawidłową reprezentację liczby całkowitej i konwertują je na wartość typu long int. Cokolwiek pozostało z ciągu po ostatnim prawidłowym znaku, jest ignorowane i nie ma wpływu na wynik.

Przykład 2: funkcja atol () ze spacjami i znakami końcowymi

 #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 uruchomieniu programu wynik będzie następujący:

 Number in Long Int = 13 Number in Long Int = 13 Number in Long Int = 25 Number in Long Int = 25 Number in Long Int = 41,90 abcd Liczba in Long Int = 41 abcd14 do Long Int = 0

Interesujące artykuły...