Funkcje C ++ Ofstream

Funkcje C ++ Ofstream
Dane są przechowywane lokalnie na komputerach poprzez obsługę plików. Możemy wstawić treść w pamięci wtórnej, zarządzając plikami.

Najlepszy sposób obsługi plików

Poniższe kroki należy podjąć, aby obsłużyć pliki:

  • Podaj nazwę pliku
  • Otworzyć plik.
  • Wprowadź informacje do pliku.
  • Wyciągnij dane z pliku.
  • Zamknij plik.

Strumienie w c++

Podajemy dane wejściowe do kodu źródłowego, a istniejący kod zwraca dane wyjściowe. Termin „strumień” odnosi się zarówno do strumienia bajtów, które są dostarczane do głównego programu jako wejście, jak i serię bajtów, które zostały zwrócone przez kod źródłowy. Innymi słowy, strumienie są czymś więcej niż tylko sukcesją płynnych danych.

„Wejście i operacja wyjściowa konsoli” odnosi się do wejścia i wyjścia między uruchomionym programem a urządzeniami wejściowymi i wyjściowymi, takimi jak klawiatura i monitor. „Wejście i operacja wyjściowa dysku” odnosi się do wyjść i wejść między obecnie działającym oprogramowaniem i plikami.

Procedury strumienia plików

Zbiór klas w modułach wejściowych i wyjściowych C ++ określa techniki obsługi plików. Zawierałby klasę „ifstream, ofstream i fstream. Takie zajęcia pochodzą z klasy fstream i powiązanej klasy iostream. Każda aplikacja, która wykorzystuje pliki, powinna zawierać plik fstream, ponieważ zawiera deklaracje dla klas używanych do obsługi plików pamięci.

iOS
Ta kategoria jest głównym modułem dla wszystkich innych klas w tym systemie hierarchicznym. iOS wskazuje strumień wejściowy.

Zasoby wymagane do funkcji wejściowych i wyjściowych wykorzystywanych przez wszystkie inne podklasy znajdują się w tej klasie.

Istream
Strumień wejściowy jest określany jako Istream. Ten typ jest potomkiem klasy „iOS”. Wejście strumienia jest zarządzane przez tę kategorię.

Ta klasa zastąpiła operatora ekstrakcji (>>), aby zarządzać strumieniami wejściowymi do wdrożenia kodu.

Metody wejściowe get (), getline () i read () są określone w tym module.

Ostream
Ostream odnosi się do strumienia wyjściowego. Klasa „iOS” jest potomkiem tego. Strumień wyjściowy jest kontrolowany przez ten komponent.

StreamBuf
Bufor wykorzystywany do kontrolowania przepływów wejściowych i wyjściowych jest określany przez wskaźnik w tym module.

fstreambase
Ta klasa oferuje funkcje, które są powszechne dla strumieni plików. Działa jako podstawa kategorii: fstream, ifstream i ofstream.

Metody Open () i Close () są zawarte w tym module.

ifstream
Operacje wejściowe są oferowane przez ten typ. Metoda Open () jest obecna, a opcja wejściowa jest zwykle. Nabywa Methods Read (), Seek (), tell (), get () i getline () od Istream.

Ofstream
Ta klasa zawiera funkcje dla wyjścia. Zawiera standardową metodę wyjściową dla metody Open (). Obsługuje metody Put (), zapis (), shee (), szuka () i tell ().

fstream
Możliwość wielu funkcji wejściowych i wyjściowych jest obsługiwana przez tę klasę. Przez iostream, importuje każdą metodę z interfejsów Istream i Ostream.

FileBuf
Ustawienie buforów plików do odczytu i zapisanie tekstu jest jego funkcją. Metodę komponentu buforowego pliku można wykorzystać również do obliczenia rozmiaru pliku. Trzy klasy fstream, ifStream i Ofstream-są obecne w szablonie fstream i są głównie wykorzystywane w C ++ do radzenia sobie z plikami.

  • Ofstream: Typ strumienia pisania plików.
  • Ifstream: Jest to klasa do czytania plików ze strumieni.
  • Fstream: Jest to rodzaj strumienia, który może czytać i zapisywać do/z plików.

Działanie C ++ Ofstream

Plik nagłówka iostream, który ma metody CIN i Cout, zostałby użyty do odczytu ze źródła wejściowego i zapisu do pliku wyjściowego. Podobnie, fstream plik nagłówka C ++ jest używany do odczytu treści z plików i zapisywania informacji w plikach. Trzy klasy danych, Ofstream, ifStream i fstream, są oferowane przez FILE FILE FILE. Korzystamy z Ofstream, integrując moduł w kodzie, nawet jeśli ważne jest reprezentowanie strumienia pliku wyjściowego, generowanie pliku i zapisanie danych do pliku. Klasa Orstream jest potomkiem Ofstream.

Składnia
Składnia dla C ++ Ofstream jest następująca:

# ofStream var_name;
var_name.Open (File_name);

Nazwa wymaganej zmiennej jest reprezentowana przez „var_name”. Plik, który zostanie dostępny, jest nazywany „nazwa_pliku”.

Metoda otwartego strumienia wyjściowego

Strumień plików wyjściowych (OfStream) powinien być powiązany z konkretnym systemem plików w konstruktorze lub metodę otwartą, aby można go było wykorzystać. Użytkownicy mogą korzystać z identycznej instancji strumienia z kilkoma plikami, jeśli skorzystamy z metody otwartej. Parametry użyte do identyfikacji pliku są podobne do wszystkich scenariuszy.

Zwykle parametr trybu otwartego jest określany za każdym razem, gdy otwiera plik podłączony do strumienia wyjściowego. Te atrybuty, które były wyliczającymi w module strumienia wejściowego, można sparować za pomocą bitowego lub operatora.

Umieścić metoda

Jedna litera jest zapisywana do strumienia wyjściowego metodą Put.

Pisać metoda

Blok pamięci jest zapisywany do strumienia pliku wyjściowego za pomocą metody zapisu. Liczba przedstawionych bajtów jest dostarczana przez parametr wielkości. Struktura całej klasy jest napisana, ponieważ metoda zapisu nie kończy się, gdy napotyka element zerowy. Polecenie char i liczba znaków do zapisu to dwa wejścia, których wymaga funkcja. Tuż przed odniesieniem elementu struktury, zwróć uwagę na odpowiednią konwersję na char *.

Metody Seekp i Tellp

Wewnętrzny wskaźnik identyfikujący ścieżkę nadchodzącego zapisu danych jest utrzymywana przez strumień plików wyjściowych. Ten port jest tworzony przez wywołanie funkcji Seekp, które zwraca również pliki pamięci losowej dostępu. Adres pliku jest uzyskiwany za pomocą wywołania funkcji TIXLP.

Funkcja bliskiej

Plik pamięci strumienia pliku wyjściowego jest zakończony przy użyciu wywołania metody zamknięcia. Aby zakończyć wszystkie dane wyjściowe w systemie, plik powinien zostać zamknięty. W razie potrzeby, destruktor Ofstream kończy dla ciebie plik. Jeśli jednak chcemy otworzyć nowy plik dla tej samej klasy strumieniowej, skorzystamy z metody zamknięcia. Jeśli konstruktor lub metoda otwartego członka otworzy plik, czy wyjściowe strumień niszczyciel zatrzymałby funkcjonowanie w pliku strumienia? Musimy ręcznie zamknąć plik, jeśli użyjemy wywołania metody załącznika lub podania nazwy pliku dla otwartego pliku do konstruktora.

Stałe członkowskie

Różne stałe członków stosowane dla funkcji Ofstream to:

Stała członka: w *

Reprezentuje wejście.

Plik dostępny do odczytu. Operacje wejściowe są dostarczane przez wewnętrzny bufor strumienia.

Członek stał: Out

Reprezentuje wyjście.

Plik dostępny dla formularza pisemnego: Operacje wyjściowe są obsługiwane przez bazowy bufor strumienia.

Stała członka: binarna

Pokazuje wartość binarną.

Zamiast używać tekstu, operacje są przeprowadzane w trybie binarnym.

Członek stał: zjadł

Oznacza to na końcu.

Punkt końcowy pliku to miejsce, w którym zaczyna się miejsce wyjściowe.

Członek stała: aplikacja

Reprezentuje dodatek.

Bieżące dane pliku są dodawane do każdej operacji wyjściowej, która ma miejsce.

Stała członka: trunc

Wskazuje obcięcie.

Tuż przed otwarciem pliku wszystkie jego dane zostały usunięte.

Przykład 1

W tym przykładzie zobaczymy, jak utworzyć plik w C++.

Na początku tego kodu dodajemy biblioteki, które są odpowiedzialne za zarządzanie plikami, takie jak tworzenie, dodawanie, aktualizacja i usuwanie plików. Następnie dodaj standard przestrzeni nazw. Następnie rozpoczynamy naszą funkcję Main (). W funkcji Main () otrzymujemy nasz plik za pomocą funkcji OfStream () używanej do utworzenia nowego pliku w systemie plików C ++. W parametrach tej funkcji przekazujemy nasz plik, podając odpowiednią nazwę pliku.

Pamiętaj, że plik kodu i plik tekstowy muszą być umieszczone w tej samej lokalizacji. Tutaj piszemy warunek, że jeśli plik istnieje, nie wprowadź w instrukcji i wykonaj instrukcję else, w której pokazujemy wiadomość, że plik istnieje. Gdy plik nie będzie obecny, tworzymy plik i zapisujemy tekst w tym pliku. Następnie zamykamy plik, wywołując funkcję Close () z nazwą pliku, jak widać na dwóch wynikach poniżej. Po raz pierwszy uruchamiamy kod i plik jest tworzony, ale po uruchomieniu kodu po raz drugi daje nam wiadomość, że plik istnieje.

Jeśli istnieje zdefiniowany plik, zdobywamy ten rodzaj wyniku.

Przykład 2

W tym przypadku zapisalibyśmy dane w pliku.

Jak wiemy, funkcja Ofstream służy również do zapisu, aktualizacji lub edytowania pliku tekstowego w systemie plików C++. Więc tutaj piszemy kod, aby napisać tekst do pliku dokumentu. W tym celu mamy nasze niezbędne biblioteki, które i pierwsza biblioteka zawierająca definicję funkcji wejściowych. Następnie wykorzystujemy standard przestrzeni nazw i zapisujemy funkcję main ().

Następnie uzyskamy plik, który stworzyliśmy za pomocą naszego ostatniego kodu. Ponownie, korzystając z funkcji OfStream (), funkcja będzie zarządzać wszystkimi naszymi operacjami związanymi z zgłoszeniem w tym języku. Zainicjujemy plik i przekazujemy do niego nasz plik tekstowy za pomocą funkcji Open () i przekazywaniu pliku tekstowego w parametrach tej funkcji. Następnie przekazujemy zdanie do pliku i wyświetlamy komunikat, który jest pomyślnie „zapisu pliku”. Następnie wywołaj funkcję Close () z nazwą pliku, aby zamknąć nasz plik tekstowy, który został otwarty na początku kodu, aby dodać tekst w tym pliku.

Przykład 3

W takim przypadku widzimy, jak sprawdzić, czy plik jest pusty, czy nie.

W poprzednim pliku dodaliśmy nasz tekst w pliku, ale nie wyświetliśmy. Możemy więc również najpierw sprawdzić, czy nasz plik jest pusty, czy nie, wyświetlając zawartość pliku. Jeśli jest pusty, dodajemy trochę tekstu i ponownie wyświetlamy dane w konsoli. Pierwszy wiersz zawiera nasze pliki nagłówka, które obsługują nasze różne funkcje związane z wejściem i wyjściem, a także związane z naszymi plikami. Dodajemy nasz standard przestrzeni nazw. W następnym wierszu rozpoczynamy funkcję Main (), w której wykonujemy wszystkie nasze funkcje, pisząc kod.

Najpierw nazywamy funkcję OfStream () i zainicjujemy plik. Następnie wywołaj funkcję Open (), aby przekazać plik, podając nazwę pliku do parametrów. Następnie podaj go zmiennej pliku, którą utworzyliśmy wcześniej. Następnie wyświetlamy dane pliku za pomocą pętli „While”, ponieważ język C ++ odczytuje słowo pliku tekstowego, więc używamy pętli alkoholu. W stanie pętli while wywoływamy funkcję GET Line, która służy do odczytu pliku tekstowego. W parametrach, jeśli ta funkcja wyślemy nasz plik, a także ciąg, który zapisuje wszystkie dane. W pętli While wyświetlamy nasz plik i zamykamy plik, wywołując funkcję Close ().

Przykład 4

Na tej ilustracji edytujmy dane pliku.

W poprzednim kodzie, jak widać, wyświetlaliśmy nasz plik, ale w tym pliku nie było danych, więc tutaj dodajemy dane w formie tekstu. Następnie staramy się wyświetlić te dane. Najpierw piszemy nasze biblioteki. Biblioteki te pomagają nam wywołać funkcje w celu wykonania pewnych działań w miejscu złożonego kodu lub algorytmów w celu wykonania skomplikowanej funkcji we wszystkich dziedzinach kodu. Te biblioteki były i . Następnie dodajemy standardy przestrzeni nazw. Przed rozpoczęciem kodu wywołyamy funkcję Main (), ponieważ musimy napisać cały nasz kod w tej funkcji. W funkcji Main () pierwszą rzeczą, jaką zrobiliśmy, było zainicjowanie pliku za pomocą naszej funkcji OFStream ().

Następnie przekazujemy nasz plik tekstowy do tej zmiennej pliku, wywołując funkcję Open (). Kiedy nazywamy tę funkcję, robiliśmy rzeczy. Najpierw przekazujemy nasz plik tekstowy do zmiennej pliku, a także otwieramy plik tekstowy. W następnym wierszu dodajemy dane tekstowe do pliku tekstowego, który otworzyliśmy wcześniej. Po umieszczeniu danych zamykamy nasz plik, dodając funkcję Close () do zmiennej pliku tekstowego. Tutaj zainicjowaliśmy ciąg. Celem tego ciągu jest uzyskanie danych z pliku, który tworzymy i aktualizujemy powyżej. Tak więc nazywamy naszą funkcję ifStream (), która jest odpowiedzialna za wyświetlanie danych w formie tekstu w pliku, a także za pomocą tej funkcji zainicjujemy inną zmienną pliku i przekazujemy nasz plik tekstowy do tej zmiennej pliku.

Teraz wyświetlamy dane. W tym celu używamy pętli „while”. Nazywamy funkcję getline (), aby pobrać wiersze z naszego pliku tekstowego, który przekazujemy parametry tej funkcji. W tej pętli używamy „cout” do wydrukowania ciągu, który przekazujemy w funkcji getline (). Po zakończeniu wyświetlacza pętla kończy się po zamknięciu pliku, wywołując funkcję Close () za pomocą naszego pliku tekstowego.

Wniosek

W pierwszej sekcji tego artykułu omówiliśmy, jakie obsługę plików w języku programowania C ++ wiąże się. Rozmawialiśmy również o odpowiedniej metodzie zarządzania plikami i funkcjom klas strumienia plików. Metoda OfStream () została następnie zastosowana w różnych programach, które wdrożyliśmy. W pierwszym programie utworzono plik. Następnie, w następnym przypadku, treść jest zapisywana do pliku. Następnie ustalamy, czy plik jest pusty. Musimy zaktualizować plik na końcu.