FEOF Funkcja w C

FEOF Funkcja w C
Czytanie i pisanie plików jest niewątpliwie potężnym narzędziem, które pozwala nam mieć lub przechowywać dowolne informacje i tworzyć bazy danych do późniejszej ekstrakcji i przetwarzania.

Dane te są wyodrębnione z plików jeden po drugim w pętlach, które są powtarzane, dopóki wszystkie informacje nie zostaną wyodrębnione i osiągamy koniec pliku

W tym Wskazówka Linux, Pokażemy Ci, jak używać feof () Aby ustalić, czy funkcje GET Data zwraca EOF. Aby pomóc Ci płynnie użyć tej funkcji, wyjaśniamy jej składnię, argumenty wejściowe i wyjściowe oraz rodzaj danych, które są akceptowane przez każdy z nich

Następnie wdrażamy tę funkcję z praktycznymi przykładami przy użyciu obrazów i fragmentów kodu, które przygotowaliśmy dla Ciebie z różnymi plikami.

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

int feof (plik * f_ptr);

FeOF () Opis funkcji w języku C

feof () funkcja analizuje adres wskazany przez f_ptr w pliku. Jeśli nie ma tam danych, określa, że ​​jest to EOF lub na koniec pliku i zwraca „1”. W przeciwnym razie wynik to „0”. EOF nie jest znakiem ucieczki, ale wynikiem zwracanym przez niektóre funkcje, które pobierają dane, takie jak getC ().

feof () Funkcja jest bardzo przydatna, a jej wynik jest używany jako warunek w pętlach pobierania plików w celu ustalenia końca pętli, gdy osiągnie koniec i nie ma więcej danych do odzyskania.

feof () jest jedną z funkcji w standardowej bibliotece C. Zanim będziesz mógł użyć tych i innych funkcji wejściowych i wyjściowych, musisz dołączyć „stdio.H ”nagłówek do„.plik C ”:

#włączać

Jak wyodrębnić dane z pliku i użyć funkcji FEOF (), aby określić wyjście pętli ekstrakcyjnej

W tym przykładzie wyjaśniamy proces krok po kroku, jak utworzyć pętlę w celu wyodrębnienia danych z pliku tekstowego i użycia feof () funkcja do określenia danych wyjściowych po wyodrębnianiu ostatnich danych.

Pierwszym krokiem jest zdefiniowanie f_ptr wskaźnik pliku, który chcemy wyodrębnić. Ten wskaźnik jest argumentem wejściowym feof () i getc (). Definiujemy również dane C_ typu char, który jest wyjściem funkcji getC () w pętli ekstrakcyjnej.

#włączać
#włączać
główny()

Plik *f_ptr;
char c_;

Drugim krokiem jest utworzenie lub użycie pliku tekstowego, który otwieramy, aby wyodrębnić z niego dane.

Aby otworzyć plik, wywołujemy funkcję fopen () i przekazujemy nazwę i ścieżkę jako argumenty wejściowe, w których zapisujemy plik i odczyt atrybut „r”, który jest oddzielony przez przecinek. Tutaj używamy „Przykład dokumentów/Linux_Hint .tekst" plik.

Jako argument wyjściowy do Fopen (), wysyłamy f_ptr wskaźnik, który zdefiniowaliśmy wcześniej:

f_ptr = fopen („Dokumenty/Linux_Hint Przykład.txt "," r ");

Po otwarciu pliku, f_ptr wskazuje na twoje pierwsze dane. Ten wskaźnik jest argumentem wejściowym do feof () i fgetc () w następnym kroku, którym jest pętla pobierania.

Jeśli rozmiar pliku nie jest znany, najbardziej praktyczną pętlą pobierania jest pętla w czasie, w którym warunek wyjścia jest koniec pliku, wynik feof ().

Następnie spójrzmy na pętlę ekstrakcji. Feof () jest wywoływany w każdym cyklu, w którym getC () pobiera znak z pliku i drukuje go do wiersza polecenia z printf (). Jeśli wynik, który jest negowany za pomocą „!”Jest równe„ 0 ”, pętla jest opuszczana.

chwila ( ! FeOF (f_ptr)

printf („%c”, c_);
c_ = getC (f_ptr);

Dzięki tej pętli możemy teraz wyodrębnić i wydrukować wszystkie dane do końca pliku, na który wskazuje f_ptr.

Na poniższej ilustracji widzimy pełny kod z definicją zmiennych i wskaźników, otwarcie pliku, ekstrakcją i wyjściem danych oraz późniejsze zamknięcie pliku:

#włączać
#włączać
główny()

Plik *f_ptr;
char c_;
f_ptr = fopen („Dokumenty/Linux_Hint Przykład.txt "," r ");
c_ = getC (f_ptr);
chwila ( ! feOF (f_ptr))

printf („%c”, c_);
c_ = getC (f_ptr);

fclose (f_ptr);

Na poniższym obrazie widzimy plik tekstowy, którego używamy w tym przykładzie oraz ekstrakcję jego danych, które są wydrukowane w konsoli poleceń:

Możemy również dodać licznik, aby uzyskać liczbę wyodrębnionych znaków. Aby to zrobić, musimy zdefiniować liczbę całkowitą C_Count, która jest zwiększana za każdym razem, gdy pętla ekstrakcyjna działa i pokazać ją na końcu.

#włączać
#włączać
główny()

Plik *f_ptr;
char c_;
intc_count = 0;
f_ptr = fopen („Dokumenty/Linux_Hint Przykład.txt "," r ");
c_ = getC (f_ptr);
chwila ( ! feOF (f_ptr))

printf („%c”, c_);
c_ = getC (f_ptr);
c_count ++;

printf („\ Nextracted znaków: %li \ n”, c_);
fclose (f_ptr);

Na poniższym rysunku widać wynik ekstrakcji, a następnie liczba wyodrębnionych znaków:

Wniosek

W tym Wskazówka Linux Artykuł, wyjaśniliśmy, jak korzystać feof () Aby określić koniec pliku.

Wykazaliśmy również praktyczne użycie tej funkcji, tworząc prostą aplikację konsoli, która wyodrębnia dane z pliku tekstowego i używa feof () Aby określić koniec pliku i zakończyć pętlę ekstrakcji. Pokazaliśmy również, jak używać kilku dodatkowych i uzupełniających się funkcji do otwierania, zamykania i edytowania plików w języku C. Mamy nadzieję, że ten artykuł jest dla Ciebie przydatny. Aby uzyskać bardziej odpowiednie artykuły, BROSE przez wyszukiwarkę Linux Hint.