C ++ fopen () - biblioteka standardowa C ++

Funkcja fopen () w C ++ otwiera określony plik w określonym trybie.

prototyp fopen ()

 PLIK * fopen (const char * nazwa pliku, tryb const char *);

fopen()Funkcja przyjmuje dwa argumenty i zwraca plik strumienia związanego z tym pliku określonym przez filename.

Jest zdefiniowany w pliku nagłówkowym.

Poniżej przedstawiono różne typy trybów dostępu do plików:

Tryb dostępu do plików Interpretacja Jeśli plik istnieje Jeśli plik nie istnieje
„r” Otwiera plik w trybie do odczytu Czytaj od początku Błąd
„w” Otwiera plik w trybie zapisu Usuń całą zawartość Utwórz nowy plik
"za" Otwiera plik w trybie dołączania Zacznij pisać od końca Utwórz nowy plik
„r +” Otwiera plik w trybie do odczytu i zapisu Czytaj od początku Błąd
„w +” Otwiera plik w trybie do odczytu i zapisu Usuń całą zawartość Utwórz nowy plik
„a +” Otwiera plik w trybie do odczytu i zapisu Zacznij pisać od końca Utwórz nowy plik

fopen () Parametry

  • filename: wskaźnik do ciągu zawierającego nazwę pliku do otwarcia.
  • tryb: wskaźnik do ciągu określającego tryb, w którym plik jest otwierany.

fopen () Zwracana wartość

  • Jeśli się powiedzie, fopen()funkcja zwraca wskaźnik do obiektu FILE, który kontroluje otwarty strumień pliku.
  • W przypadku niepowodzenia zwraca wskaźnik zerowy.

Przykład 1: Otwieranie pliku w trybie zapisu za pomocą fopen ()

 #include #include using namespace std; int main() ( int c; FILE *fp; fp = fopen("file.txt", "w"); char str(20) = "Hello World!"; if (fp) ( for(int i=0; i 

When you run the program, it will not generate any output but will write "Hello World!" to the file "file.txt".

Example 2: Opening a file in read mode using fopen()

 #include using namespace std; int main() ( int c; FILE *fp; fp = fopen("file.txt", "r"); if (fp) ( while ((c = getc(fp)) != EOF) putchar(c); fclose(fp); ) return 0; )

When you run the program, the output will be (Assuming the same file as in Example 1):

 Hello World!

Example 3: Opening a file in append mode using fopen()

 #include #include using namespace std; int main() ( int c; FILE *fp; fp = fopen("file.txt", "a"); char str(20) = "Hello Again."; if (fp) ( putc('',fp); for(int i=0; i 

When you run the program, it will not generate any output but will append "Hello Again" in a newline to the file "file.txt".

Interesujące artykuły...