Co to jest funkcja strtol () w c++
strtol () Funkcja jest wbudowaną funkcją w C ++, która przekształca ciąg w długą wartość liczb całkowitą. Akceptuje ciąg jako dane i przekształca go w wartość całkowitą z określoną bazą. Ponadto metoda zwraca link lub wskaźnik do początkowego niepoprawnego znaku w ciągu.
Składnia funkcji strTOL ()
Składnia strtol () Funkcja w C ++ jest następująca:
Strtol (S i End, baza)
Parametry funkcji strTOL ()
strtol () Funkcja ma trzy parametry:
Zwracaj typ funkcji strTOL ()
strtol () Funkcja zwraca długą wartość liczb całkowitą, która jest konwertowana z ciągu wejściowego. Jeśli nie nastąpi konwersja, zwraca 0.
Plik nagłówka w C ++ do użycia funkcji strTOL () w c++
Przed użyciem strtol () Funkcja w kodzie C ++, musisz zdefiniować #włączać plik nagłówka.
Przykłady funkcji strTOL () w C++
Oto kilka przykładów używania strtol () funkcja w c++.
Przykład 1: Program do konwersji łańcucha na długie liczby całkowite za pomocą bazy dziesiętnej
Z strtol () Funkcja, łatwo jest przekonwertować ciąg na długą liczbę całkowitą za pomocą bazy dziesiętnej. Kod potrzebnego C ++ w takiej sytuacji pokazano poniżej.
#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()
char str [] = "12345678";
char* endptr;
długie num = strTol (str, i endptr, 10);
if (endptr == str)
Cout<<"Invalid input"<w przeciwnym razie
Cout<<"The number is: "<
powrót 0;
Powyższy program deklaruje tablicę znaków o nazwie STR, który zawiera ciąg „12345678”. Wskaźnik o nazwie EndPtr służy do przechowywania adresu pierwszego znaku w ciągu, który nie jest częścią przekonwertowanej liczby. strtol () Następnie funkcja jest wywoływana z STR, i EndPTR i 10. Pierwszym argumentem jest ciąg, który zostanie przekonwertowany, drugim argumentem jest adres wskaźnika, który zostanie zaktualizowany o pozycję końcową ciągu, a trzeci argument jest podstawą konwersji, która jest dziesiętna w tym przypadku.
Program sprawdza, czy EndPtr jest równy początkowi ciągu. Jeśli tak, oznacza to, że konwersja się nie powiodła, a komunikat o błędzie jest wydrukowany. W przeciwnym razie program drukuje przekonwertowany numer.
Wyjście
Przykład 2: Program do konwersji ciągów na długie liczby całkowite z 0 podstawami
Jeśli ustalimy podstawowy argument strtol () funkcja do 0, funkcja automatycznie wykryje podstawę z ciągu wejściowego. Ułatwia to konwertowanie ciągów różnych podstaw bez konieczności wyraźnego określenia podstawy. Na przykład, jeśli ciąg zaczyna się od łańcucha „0x”, Jest to automatycznie wykrywane jako liczba szesnastkowa.
Za pomocą strtol () funkcja do konwersji ciągów na długie liczby całkowite z 0 podstawami, możemy upewnić się, że ciąg wejściowy jest prawidłowy i można go poprawnie przekonwertować na długą liczbę całkowitą. Może to być pomocne w wielu rodzajach implementacji, takich jak odczyt wartości liczbowych z danych wejściowych użytkownika lub analiza informacji z dokumentów tekstowych.
Program podany poniżej jest dobrze zgodnie z wcześniej określoną sytuacją.
#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()
char str [] = "0xa0b0c0";
char* endptr;
długie num = strTol (str, i endptr, 0);
if (endptr == str)
Cout<<"Invalid input"<w przeciwnym razie
Cout<<"The number is: "<
powrót 0;
Powyższy program deklaruje tablicę znaków o nazwie str, który zawiera ciąg „0xA0B0C0”. „0x” Prefiks wskazuje, że ciąg jest w formacie szesnastkowym. Wskaźnik o nazwie EndPtr jest również zadeklarowane, które zostaną użyte do przechowywania adresu pierwszego znaku w ciągu, który nie jest częścią przekonwertowanej liczby. strtol () Następnie funkcja jest wywoływana z STR, i endptr argumentu i 0. Podstawa konwersji, która jest ustawiona na 0, automatycznie wykrywa podstawę z ciągu wejściowego.
Program sprawdza, czy EndPtr jest równy początkowi ciągu. Jeśli tak, oznacza to, że konwersja się nie powiodła, a komunikat o błędzie jest wydrukowany. W przeciwnym razie program drukuje przekonwertowany numer.
Wyjście
Wniosek
W c++, strtol () Funkcja jest używana do konwersji łańcucha w długą wartość całkowitą. Postępując zgodnie z powyższymi wytycznymi, będziesz mógł nauczyć się korzystania z strtol () Funkcja w C ++, ponieważ znajdziesz różne przykłady, które pomogą ci zrozumieć podstawy tej funkcji.