Znaczenie obsługi plików w C++ i jak to zrobić [2022]

Opublikowany: 2021-01-04

Wstęp

C++ lub „nowe C”, ponieważ opiera się na frameworku C i dodatkowych funkcjach. C++ ma również wpływ na kilka języków, takich jak C# i inne nowsze edycje C. Jest również rozpoznawany po wprowadzeniu programowania obiektowego. To potwierdza fakt, jak ważny był C++ dla świata programowania.

Ten artykuł dotyczy jednego z najbardziej podstawowych, ale kluczowych zadań, obsługi plików w C++ . Teraz pliki są ważne dla programowania, a także dla innych sektorów, ponieważ są sektorami pamięci masowej. To tutaj gromadzone są całe dane. Całą koncepcję obsługi plików można podzielić na cztery sekcje –

  • Otwieranie pliku
  • Zapisywanie do pliku
  • Czytanie z pliku
  • Zamknij plik

Pobierz kurs rozwoju oprogramowania z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.

Znaczenie obsługi plików w C++

Zanim rozpoczniemy tę podróż po C++, poświęćmy kilka chwil, aby zrozumieć, dlaczego potrzebujemy obsługi plików. Mówiąc prościej, oferuje mechanizm, dzięki któremu można zebrać dane wyjściowe programu w pliku, a następnie wykonać na nim wiele operacji.

Jest jeszcze jeden termin, „strumień”, którego będziemy używać dość często. Więc zapoznajmy się z tym również. Strumień to proces wskazujący urządzenie, na którym wykonujesz operacje wejścia i wyjścia. Innymi słowy, strumień może być reprezentowany jako początek lub cel znaków o nieokreślonej długości na podstawie jego funkcji.

ifstream, ofstream i fstream tworzą zestaw metod obsługi plików w C++. Krótki opis tych trzech obiektów –

  • ofstream — w języku C++ ofstream służy do tworzenia i zapisywania plików. Oznacza strumień pliku wyjściowego.
  • ifstream – Programiści używają ifstream do odczytu z plików. Oznacza strumień pliku wejściowego.
  • fstream – fstream można określić jako połączenie ofstream i ifstream. Służy do tworzenia, odczytywania i zapisywania plików.

Każdy z nich pomaga zarządzać plikami na dysku i dlatego jest specjalnie zaprojektowany do zarządzania plikami na dysku.

Oto operacje używane w obsłudze plików w C++

  • Tworzenie pliku: open()
  • Odczytywanie danych: read()
  • Zapisywanie nowych danych: write()
  • Zamknięcie pliku: close()

Trzeba przeczytać: 8 najlepszych pomysłów na projekty w C++

Omówmy je dokładnie, aby zrozumieć, jak działa obsługa plików w C++

  • Otwieranie pliku

Zanim będziesz mógł podjąć działania na pliku, czy to odczyt, czy zapis, musisz go najpierw otworzyć. Obiekty Ofstream lub fstream można zastosować do zainicjowania pliku do zapisu. Podobnie obiekt ifstream może być użyty do odczytania pliku.

Aby otworzyć plik, możesz skorzystać z następujących procedur:

  • Podczas tworzenia obiektu pomiń nazwę pliku.
  • Możesz też użyć funkcji open(). Jest członkiem ifstream, ofstream, fstream obiektów.

Na przykład

void open(const char *nazwapliku, tryb ios::openmode);

Pierwszy argument powyżej określa nazwę i lokalizację pliku, który chcesz otworzyć. Drugi argument określa metodę otwarcia pliku docelowego.

Oto flaga trybu i opis –

  1. ios::app – tryb dołączania. Wszystkie dane wyjściowe do tego pliku należy dołączyć na końcu.
  2. ios::in – Otwórz plik do odczytu.
  3. ios::ate – Otwórz plik do wyjścia i przenieś kontrolkę odczytu/zapisu na koniec pliku.
  4. ios::out – Otwórz plik do zapisu.
  5. ios::trunc – jeśli plik już istnieje, jego zawartość zostanie obcięta przed otwarciem pliku.

Możesz utworzyć wiele wartości, korzystając z powyższych trybów, używając LUB. Na przykład, jeśli chcesz otworzyć plik do odczytu lub zapisu, użyj:

fstream nowy plik;

nowyplik.open („plik.dat”, ios::out | ios::in );

Podobnie, jeśli chcesz otworzyć plik w trybie zapisu i skrócić go, jeśli już istnieje –

ofstream nowy plik;

nowyplik.open („plik.dat”, ios::out | ios::trunc );

  • Zapisywanie pliku

Pracując nad plikiem programowania C++, użyj obiektu ofstream lub fstream wraz z nazwą pliku. Najlepiej byłoby użyć operatora wstawiania strumienia (<<) do zapisywania informacji do pliku.

#włącz <iostream>

#include <fstream>

Wykorzystanie standardowej przestrzeni nazw;

int main() {

// Utwórz i otwórz plik tekstowy

ofstream newFile("nazwapliku.txt");

// Zapisz do pliku

NewFile << „Pliki do nauki mogą być trudne, ale wynik jest wystarczająco satysfakcjonujący!”;

// Zamknij plik

NowyPlik.zamknij();

}

  • Czytanie pliku

Do odczytywania pliku programowania w C++ używa się obiektu fstream lub ifstream. Jeśli chcesz odczytać plik wiersz po wierszu i wydrukować zawartość pliku, użyj pętli while wraz z funkcją getline().

Aby odczytać informacje z pliku, musisz użyć operatora ekstrakcji strumienia (>>).

Przykład

// Skonstruuj ciąg tekstowy, który jest zarządzany w celu wyprowadzenia pliku tekstowego

ciąg nowyTekst;

// Odczytaj z pliku tekstowego

ifstream newReadFile("nazwapliku.txt");

// Teraz użyj pętli while z funkcją getline(), aby odczytać plik wiersz po wierszu

while (getline (MyReadFile, myText)) {

// Wypisz tekst z pliku

cout << mójTekst;

}

// Zamknij plik

MójPlikOdczytu.zamknij();

  • Zamykanie pliku

Domyślnie, gdy program C++ zamyka się, usuwa wszystkie zespoły, wypuszcza całą wyznaczoną pamięć i zamyka wszystkie otwarte pliki. Uważa się jednak, że zdrową praktyką w zakresie obsługi plików w C++ jest zamknięcie wszystkich otwartych plików przed zakończeniem działania programu. Oczyszcza również niepotrzebną przestrzeń.

Jest to standardowa składnia funkcji close(). Jest członkiem obiektów fstream, ifstream i ofstream.

nieważne zamknij();

Przeczytaj także: Pomysły na projekty dotyczące struktury danych

Wniosek

To zakończyło lekcję o sposobach obsługi plików w C++ . Pamiętaj, że C++ jest jednym z najbardziej dominujących języków w świecie programowania, w którym tworzy się oprogramowanie zarówno techniczne, jak i komercyjne.

Dlatego im więcej rozumiesz, tym więcej możesz odkrywać, używając tego wszechstronnego języka. Jeśli chcesz dowiedzieć się więcej i potrzebujesz mentoringu ze strony ekspertów branżowych, sprawdź program UpGrad & IIIT Banglore Executive PG Program Full-Stack Software Development .

Przygotuj się na karierę przyszłości

Aplikuj teraz na studia magisterskie z inżynierii oprogramowania