Za pomocą płetwy.dostać się do C ++

Za pomocą płetwy.dostać się do C ++
Fin to nazwa zmiennej strumieniowej i jest używana w zarządzaniu strumieniem plików. Celem zarówno płetwy, jak i fout jest taki sam jak CIN i cout w iostream. Te dwa strumienie są zdefiniowane w bibliotece fstream. Fin służy do otwarcia pliku i uzyskania znaków z pliku i wyświetlania.

Wdrożenie płetwy.Dostawać()

Przykład 1
Ten przykład dotyczy całkowitej liczby znaków obecnych w pliku. W tym celu zmienna licznika zostanie zainicjowana do programu.

Najpierw porozmawiamy o bibliotekach obsługujących kody źródłowe do wykonania. Iostream służy do osadzania funkcji wyświetlacza, takich jak funkcje Cout i wejściowe, takie jak CIN, dlatego musimy użyć tego w naszym pliku nagłówka.

Po drugie, ponieważ zajmujemy się systemem plików lubią otwierać i zamykać pliki, a przy stosowaniu innych funkcji zgłoszenia potrzebujemy biblioteki, która ma wszystkie funkcje przesyłania strumieniowego pliku.

#włączać
#włączać

Rozpocznijmy logikę kodu źródłowego w programie głównym. W strumieniowaniu plików ifstream służy do otwarcia pliku i odczytania danych w nim, gdzie płetwa jest obiektem.

Ifstream Fin („Owoce.tekst");

Nazwa przykładowego pliku o dwóch nazwach to „owoc.tekst'.

Zmienny licznik, który liczy całkowite znaki w pliku, jest inicjowany jako zero na początku. Gdy licznik zlicza znaki, typ danych licznik jest również zadeklarowany jako znak. Wbudowana płetwa funkcyjne.Get jest tutaj inicjowany, który odczytuje znaki z pliku.

Pętla jest używana, która będzie się iterować „do końca pliku. Wewnątrz parametru While, Fin.Funkcja eof () lub „koniec pliku” jest deklarowana. Ta funkcja oznacza uzyskanie wartości „do końca pliku.

Chwila ( !płetwa.eof ())

Wewnątrz pętli pobytu zmienna licznika jest najpierw zwiększana.

C = Fin.Dostawać ();

Następnie wyświetlana jest postać w pierwszej pozycji, a następnie płetwa.Metoda get () jest wywoływana, aby uzyskać następny charakter. Wewnątrz pętli ponownie to trwa, znak jest uzyskiwany metodą get () i licznik jest zwiększany, a następnie obie wartości są uzyskiwane. Po zliczaniu ostatniego znaku, pętla kończy się i poza korpusem pętli, wyświetlana jest wartość licznika jako całość.

Zapisz plik z .Rozszerzenie C. Aby wykonać kod, użyjemy terminału Ubuntu. W Linux, dla kodu C ++ potrzebny jest kompilator do skompilowania kodu źródłowego: ten kompilator to g++. Plik wejściowy i wyjściowy są potrzebne do wyświetlenia wyników przechowywanych przez -o.

$ g ++ -o plik pliku.C
$ ./plik

Po wykonaniu zobaczysz poniższe wyniki. Każda linia zawiera liczbę, która jest liczbą postaci słowa. Przestrzeń między dwoma słowami a następną linią jest również liczona jako znaki.

Całkowita liczba znaków jest wyświetlana na końcu.

Przykład 2

Ten przykład dotyczy funkcji fsteams systemu plików. Z naszego komputera załadujemy plik, otworzymy go, zaktualizujemy, pisząc w nim i wyświetlimy jego zawartość po aktualizacji za pomocą różnych strumieni pliku obowiązującego według warunków.

Załóżmy, że mamy prosty tekst, plik owocowy, który zawiera nazwy owoców. Patrz poniżej.

Użyjemy tego pliku w naszym kodzie źródłowym. Po załadowaniu obu bibliotek, tak jak zdefiniowaliśmy w pierwszym programie, w programie głównym, zdefiniowana jest zmienna charakteru i tablica znaków, które zostaną użyte później.

Z fstream, OfStream jest używany, czyli strumień plików wyjściowych i używany do zapisu zawartości w pliku. Ta funkcja zawiera obiekt, za pomocą którego plik jest ładowany i otwierany w programie.

Ofstream Fout („Sruits.tekst");

Używana jest tutaj podatak IF, który sprawdza obiekt. Jeśli plik zostanie otwarty, to działa. Ale jeśli nie można otworzyć pliku, po prostu wyświetl komunikat o błędzie, że plik nie można otworzyć. Poza nadwoziem „jeśli”, od Fout, wszystkie zawartość, którą chcemy napisać w pliku, są wyświetlane tutaj. Te trzy linie są wprowadzane do pliku. Poprzednie są je zastąpione, na wypadek, gdyby plik miał już treść. W przeciwnym razie zostanie utworzony pusty plik, aby zapisać te wiersze. Po dodaniu treści plik jest zamknięty.

Sprawdźmy plik za pośrednictwem instrukcji „jeśli”. Sprawdza, czy treść jest zapisywana w pliku, czy nie. Zostanie wyświetlony błąd. W drugiej sprawie idź do przodu. Następnie użyj ifstream, aby otworzyć plik.

IfStream Fin („Owoce.tekst")

Ponownie sprawdź, czy plik można otworzyć, czy nie.

Następnym krokiem jest pobranie rekordu, które wprowadziliśmy, stosując pewne warunki. Te warunki w ogóle zależy od użytkownika. Zastosowaliśmy logikę, aby uzyskać pierwsze trzy znaki pierwszego ciągu w pliku. Tutaj przyjęliśmy pomoc z pętli, która itera trzeciego charakteru pierwszego słowa w zdaniu wewnątrz pętli.

Płetwa.Get (CH);

Otrzyma postać, a te znaki będą wyświetlane przez cout, podczas gdy reszta słów w pierwszym instrukcji pliku jest ponownie wyświetlana przez płetwę.get () funkcja. Ale tutaj szereg znaków jest używany w parametrach. Użyliśmy obiektu tablicy znaków i rozmiar.

Płetwa.Get (STR, 255);

Zdania jako całość to struny postaci. Użyjemy wbudowanej funkcji getline (), aby uzyskać wszystkie dwa zdania po pierwszym bez stosowania jakichkolwiek warunków.

Płetwa.getline (STR, 255)

Po wyświetleniu wszystkich danych, które chcieliśmy, plik musi zostać zamknięty. Zostanie to zrobione przez:

Płetwa.zamknąć ()

Oświadczenie „If” odgrywa rolę sprawdzania za pomocą płetwy.Good () funkcja. Jeśli to prawda, oznacza to, że nie ma błędu. Jeśli jest to fałsz, wyświetlany jest komunikat o błędzie.

Teraz wykonajmy powyższy kod w terminalu.

Zobaczysz to za pomocą funkcji get (), pierwsze trzy znaki i pozostałe znaki są wyświetlane. Podczas gdy za pośrednictwem funkcji getline () oba zdania są wyświetlane. Podczas wykonywania nie otrzymaliśmy żadnego komunikatu o błędzie.

Wniosek

Płetwa.Funkcja get () może być używana na różne sposoby, ale cel tej funkcji pozostaje taki sam: pobieranie zapisu pliku. Zaimplementowaliśmy dwa różne przykłady, używając tej funkcji w otwieraniu i dodaniu danych do pliku, a następnie przy użyciu innych strumieni funkcji zgłoszenia. Wyświetliliśmy dane, stosując warunki i zamknęliśmy plik. Postępując zgodnie z tym podejściem, Fin.Get można łatwo użyć w systemie plików.