EOF w C ++

EOF w C ++

W obsłudze plików nie wiemy, ile danych jest przechowywane w pliku. Ponieważ zakres danych w składaniu jest w większości nieznany, w jaki sposób możemy odczytać plik w takim przypadku? Kiedy nie wiemy, ile danych zawiera plik, używamy metody EOF () do odczytania pliku. Metoda eof () to „koniec pliku”, który odczytuje plik, dopóki sterowanie nie osiągnie końca pliku. Ta metodologia jest bardzo odpowiednia do przedstawienia danych plików. To, co wiemy o plikach, to rodzaj danych plików i styl formatowania przechowywanych danych. Funkcja EOF () pozwala nam ustalić, kiedy plik osiągnie swój koniec.

Eof () to stała metoda typu bool, która zwraca true po osiągnięciu końca pliku i zwraca false, gdy do odczytania jest nadal dane. Jest to metoda klasa strumienia wejściowego (iOS), która odczytuje dane pliku do końca końca.

Składnia:

bool eof () const;


Ta metoda jest boolowską metodą stałego typu, co oznacza, że ​​nie można jej zmienić. Albo zwraca prawda, albo fałsz. Ta funkcja nie ma parametrów.

Typ powrotu:

Kiedy zwróci „prawdziwe”, oznacza to, że koniec jest osiągany. Kiedy zwraca „fałszywe”, oznacza to, że koniec nie jest jeszcze napotkany.

Użyj EOF (), aby odczytać już utworzony plik

Program odczytuje dane z pliku tekstowego. Kiedy osiągnie koniec, wyświetla wiadomość. Aby to wszystko nazywamy funkcją EOF ().

Utwórz plik:

Przede wszystkim utwórz plik tekstowy: „Przykład.tekst". Dodaj do niej trochę treści, a następnie zapisz plik. Ten plik powinien być przechowywany w podobnym folderze jak kod C ++.


Kod:

#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()

ifStream IST („Przykład.tekst");
char ch;
While (ist.Get (CH))
Cout << ch;
if (ist.eof ())
Cout << "[EoF reached]\n";
w przeciwnym razie
Cout << "[Error Reading]\n";
ist.zamknąć();
powrót 0;


Teraz zacznijmy kodować. Zaimportuj bibliotekę, aby użyć funkcji wejściowych i wyjściowych tej biblioteki. Następnie zaimportuj jako strumień plików. Importujemy tę bibliotekę, abyśmy mogli uzyskać dostęp do jej metod. Wywołaj metodę main (). Następnie zdefiniuj „ifstream”, który jest strumieniem wejściowym. Utwórz jego obiekt i podaj lokalizację pliku tekstowego, który wcześniej utworzyliśmy lub po prostu napisz nazwę tego pliku. Gdy plik kodu i plik tekstowy znajdują się w tym samym folderze, po prostu wspominamy o nazwie pliku z jego rozszerzeniem. Zdefiniuj zmienną typu znaku „CH”. Ta zmienna pobiera dane z ciągu. Użyj pętli „While”, aby stale odczytać dane pliku do końca końca. Wewnątrz pętli „While” użyj polecenia „Cout”, aby wydrukować dane. Po wyświetleniu całych danych pliku ustaw warunek „IF”. Jeśli strumień wejściowy „IST” osiągnie koniec pliku, wyświetl komunikat „EOF osiągnięty”. W przeciwnym razie wykonaj część „else”. Wydrukuj komunikat o błędzie „Odczyt błędów” w części „else”. Następnie zamknij plik, wywołując funkcję Close ().

Wyjście:

Hello World 360 [EOF osiągnął]

Uzyskaj dane z pliku

Wyjaśnijmy, w jaki sposób możemy uzyskać dane z pliku i sprawdzić koniec pliku za pomocą eof ().

Utwórz plik:

Teraz utwórz plik tekstowy o nazwie „Przykład2.tekst". Upewnij się, że zapisujesz zarówno pliki tekstowe, jak i C ++ w tym samym folderze. Nie spowoduje to problemów podczas dostępu do pliku. Tutaj piszemy nazwę kilku miast w pliku. Zapisz i zamknij plik.


Kod:

#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()

Char City_names [15];
plik ifStream („Przykład2.tekst");
Jeśli(!plik)

Cout<<"Error while opening";
wyjście (1);

Cout<<"List of Cities in file : \n";
chwila(!plik.eof ())

Plik >> City_names;
Cout<
plik.zamknąć();
powrót 0;


W kodzie C ++ zaimportuj dwie biblioteki - i . Po użyciu standardowej przestrzeni nazw, wywołaj metodę main () i zadeklaruj tablicę typu znaków „City_names”. Następnie ustaw rozmiar tablicy, która otrzymuje tablicę znaków z pliku tekstowego. Utwórz obiekt „pliku” strumienia pliku wejściowego „ifStream” i podaj nazwę pliku tekstowego, który jest „przykład2.tekst". Teraz użyj instrukcji „If”, aby sprawdzić, czy zdefiniowany plik się otwiera, czy nie. Wydrukuj komunikat o błędzie, jeśli plik się nie otworzy. Z zewnątrz instrukcja „jeśli” zastosuj polecenie „Cout”, aby wyświetlić tekst „lista miast w pliku”. Ponadto użyj pętli „while”, aby iterować w pliku, aby uzyskać dane. Pętla, dopóki plik nie zostanie osiągnięty na końcu. Aby sprawdzić koniec pliku, wywołać metodę EOF (). Uzyskaj dane plików w pętli „while” i przechowuj je w tablicy znaków „City_names”. Następnie wyświetl tę tablicę.

Plik otrzymuje całą zawartość, którą przechowujemy w „Przykład2.plik tekstowy TXT i wyświetla dane jednocześnie. Zamknij plik poza pętlą. Zamknięcie pliku jest ważne, aby zapobiec żadnej krzywdy pliku.

Wyjście:

Lista miast w pliku:
Lahore
Karaczi
Multan

Kod do uzyskania danych od użytkownika

W tym przykładzie nabywamy dane użytkownika i wprowadzamy je do pliku tekstowego. Następnie wyświetlamy dane z tego pliku na konsoli. Aby odczytać dane z pliku, używamy również EOF (), który informuje nas, gdy zostanie osiągnięty koniec pliku.

Utwórz pusty plik:

Po pierwsze, pusty plik „Przykład3.txt ”, jest tworzony i zapisywany w folderze. W tym pustym pliku przechowujemy dane, które daje nam użytkownik. Następnie te dane są odczytywane.


Kod:

#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()

nazwy charaktetów [15];
Ofstream Out („Przykład3.tekst");
ifstream w („Przykład3.tekst");
dla (int i = 0; i<3;i++)

Cout<<"Enter Name : ";
gets (imiona);
Cout<
na zewnątrz.zamknąć();
Cout<<"List of Names is : ";
Cout<chwila(!W.eof ())

W.getline (imiona, 100);
Cout<
W.zamknąć();
powrót 0;


Najważniejszą częścią kodu jest biblioteki. W funkcji Main () zdefiniuj tablicę znaków o rozmiarze 15. Utwórz obiekt „out” strumienia plików wyjściowych „Ofstream”. Zapewnia ścieżkę/nazwę pustego pliku tekstowego. Następnie utwórz obiekt „w” strumienia pliku wejściowego „ifStream”. Użyj pętli „dla”, aby uzyskać ciąg od użytkownika. Tutaj wydrukuj komunikat „Wprowadź nazwę:”. Wywołać metodę gets (); Otrzymuje ciąg nazw od użytkownika, a obiekt „Out” Ofstream otwiera plik do pisania. Ten obiekt Ofstream zapisuje nazwy w pliku tekstowym. Poza pętlą „for”, zamknij obiekt „Out” Ofstream, ponieważ skończyliśmy pisanie. Pokaż tekst „Lista nazw to:” na ekranie. Ponadto użyj pętli „While” i zdefiniuj jej stan. Odczytaj dane z pliku do momentu nie osiągnięcia zakończenia pliku. Zastosuj funkcję getLine (), abyśmy otrzymywali wiersze z pliku tekstowego. Wyświetl te linie na konsoli. Poza pętlą „while”, wywołaj metodę Close () strumienia plików wejściowych „w”.

Wyjście:

Wprowadź nazwę: Halibi
Wprowadź nazwę: John
Wprowadź nazwę: Nike
Lista nazw to:
Halibi
Jan
Nike


Po przechowywaniu danych:


Po uzyskaniu nazw od użytkownika i wykonaniu kodu C ++, otwieramy pusty plik, który utworzyliśmy. Tutaj zobaczylibyśmy wszystkie nazwiska. Po wykonaniu kodu nazwy te są przechowywane w „Przykład3.plik tekstowy TXT ”.

Wniosek

W tym artykule omówiliśmy metodę EOF (). EOF to koniec pliku używanego podczas czytania pliku. Możemy ustalić, kiedy plik się skończy, wywołując metodę EOF (). Artykuł wyjaśnia temat na temat EOF w C ++ za pomocą różnych kodów, w których utworzyliśmy plik tekstowy, wprowadziliśmy dane w pliku, a następnie odczytuje te dane z pliku. Metoda EOF () jest metodą Bool, albo jest prawdziwa, albo fałsz.