Funkcja ATOF w języku C

Funkcja ATOF w języku C
Funkcje konwersji z jednego typu danych na drugie są bardzo przydatne w kilku przypadkach. Pozwalają nam korzystać z różnych funkcji z różnymi typami danych w swoich argumentach wejściowych i wyjściowych, aby je przetworzyć.

Zasadniczo dane, które użytkownik wprowadza do systemu za pośrednictwem konsoli poleceń, graficznego interfejsu użytkownika lub pliku tekstowego w postaci ciągów, które później musimy przekonwertować na liczby całkowite, podwójne, pływaki itp. Aby je przetworzyć.

W tym Wskazówka Linux Artykuł, pokażemy, jak korzystać z ATOF () funkcja do konwersji ciągów na ich wartość liczbową punktu zmiennoprzecinkowego lub typu podwójnego.

Przyjrzymy się krótko na teorię tej funkcji, argumenty wejściowe i wyjściowe oraz typy danych, które przyjmuje. Następnie, korzystając z praktycznych przykładów z fragmentami kodu i obrazów, zaimplementujemy użycie ATOF () funkcja w różnych przypadkach.

ATOF () Składnia funkcji w języku C

Double ATOF (const char *str);

ATOF () Opis funkcji w języku C

Dla następującego wyrażenia, ATOF () Funkcja konwertuje ciąg „STR” z jego argumentu wejściowego i zwraca swoją wartość liczbową punktu zmiennoprzecinkowego w podwójnym wyjściowym „A”.

a = atof ( * str);

Konwersja zaczyna się od najważniejszego charakteru wartości i końców z najmniej znaczącym charakterem wartości, ignoruje przestrzenie i kończy się, gdy występuje charakter niewiazowy. W przypadkach, w których konwersja nie jest możliwa z powodu wielu przypadków, na przykład w przypadku wysyłania ciągu w argumencie wejściowym, nie zawiera znaków numerycznych, ATOF () zwraca 0 w wyniku „a”.

Te funkcje konwersji należą do tych, które są zawarte w standardowej bibliotece. Musimy dołączyć „stdlib.H ”nagłówek w naszym„.c ”lub„.H ”Pliki w następnym wierszu przed ich użyciem:

#włączać

Kiedyś „stdlib.Nagłówek H ”jest wliczony, możemy użyć ATOF () i zawierane przez nią funkcje.

Następnie zobaczymy praktyczne przykłady, w których wdrażamy tę funkcję.

Jak przekonwertować ciąg na wartość liczbową za pomocą funkcji ATOF () w języku C

W tym przykładzie zobaczymy, jak korzystać z ATOF () funkcja do konwersji ciągu na wartość liczbową. Aby to zrobić, tworzymy ciąg „Str” z ciągiem reprezentującym pierwiastek kwadratowy 2 i zmienną „A”, w której przechowujemy wynik numeryczny konwersji.

Aby przekonwertować ciąg na jego wartość liczbową, wywołujemy ATOF () funkcjonować i przejść str ciąg jako argument wejściowy.

Poniższy fragment kodu pokazuje prawidłową konwersję ciągu na wartość liczbową. Konwertowana wartość jest przechowywana w podwójnym „A”:

#włączać
#włączać
void main ()

char str [20] = "1.4142 ";
podwójne A;
a = atof (str);

W ten sposób z ATOF () Funkcja, mamy wartość wprowadzoną jako ciąg w formacie zmiennoprzecinkowego w podwójnym typie, aby móc ją przetwarzać z różnymi funkcjami matematycznymi, które mamy w języku C.

Po przygotowaniu naszego kodu kompilujemy go i uruchamiamy w konsoli Linux z następującym wierszem poleceń:

~ $ GCC Documents/ATOF_EX1.C -O ATOF_1
~ $ ./ATOF_1

Poniższy obraz pokazuje kompilację tego kodu:

Funkcja ATOF () z znakami niewidzialnymi w swoim ciągu wejściowym

Funkcja ATOF () akceptuje tylko znaki numeryczne i punkt dziesiętny do konwersji. W przypadkach, w których żaden z tych znaków nie jest obecny w ciągu wejściowego lub tylko w punkcie dziesiętnym nie można znaleźć bez żadnych znaków liczbowych, ATOF () Zwraca 0, jak pokazano w poniższym przykładzie:

#włączać
#włączać
void main ()

char str [20] = "hello świat";
podwójne A;
a = atof (str);
printf („a = %f”, a);

Poniższy rysunek pokazuje wyniki dla ciągu wejściowego, który zawiera znaki alfabetyczne lub numeryczne:

Biała przestrzeń w ciągu wejściowego funkcji ATOF () w języku C

Kiedy ta funkcja jest wywoływana, ATOF () ignoruje przestrzenie, które znajduje przed pierwszym numerem sznurka. Kiedy znajdzie znak numeryczny, zaczyna przekształcić się z najważniejszego charakteru na najmniej znaczący charakter. Konwersja zatrzymuje się, a funkcja powraca, gdy znajdzie postać niewiazowa, czy to litera, czy biała przestrzeń.

#włączać
#włączać
void main ()

char str [20] = "12345";
podwójne A;
a = atof (str);
printf („a = %f”, a);

Poniższy obraz pokazuje, w jaki sposób Whitespace jest ignorowany przez ATOF ():

Wniosek

W tym Wskazówka Linux Artykuł, pokazaliśmy, jak korzystać z ATOF () funkcja, która jest jedną z funkcji standardowej biblioteki języka C w celu przekonwertowania zmiennych z jednego typu danych na drugi. Przeanalizowaliśmy teoretyczną część tej funkcji i typy danych zaakceptowanych w jej wejściach i wyjściach. Pokazaliśmy również, z pracującymi przykładami, jak wdrożyć tę funkcję i jej zachowanie z różnymi znakami w ciągu wejścia. Mamy nadzieję, że ten artykuł jest dla Ciebie przydatny. Aby uzyskać więcej takich artykułów i wskazówek, użyj wyszukiwarki na naszym Wskazówka Linux strona internetowa.