The metoda fopen(). w języku C to funkcja biblioteczna używana do otwierania pliku w celu wykonywania różnych operacji, w tym odczytu, zapisu itp., w różnych trybach. Jeśli plik istnieje, funkcja fopen() otwiera określony plik, w przeciwnym razie tworzony jest nowy plik.
Składnia
Składnia C fopen() jest następująca:
FILE * fopen (const char * file_name , const char * mode_of_operation );>
Parametry
Metoda przyjmuje dwa parametry typu wskaźnika znakowego:
- Nazwa pliku: Jest to typ ciągu C i akceptuje nazwę pliku, który należy otworzyć.
- tryb_działania: Jest to również typ łańcucha C i odnosi się do trybu dostępu do pliku.
Poniższa tabela zawiera prawidłowe wartości trybu_operacji w języku C wraz z ich znaczeniem:
| Tryby otwierania | Opis |
|---|---|
| R | Wyszukuje plik. Otwiera plik tylko do odczytu . Jeśli plik zostanie pomyślnie otwarty, funkcja fopen() ładuje go do pamięci i ustawia wskaźnik wskazujący pierwszy w nim znak. Jeśli nie można otworzyć pliku, fopen() zwraca NULL. |
| w | Wyszukuje plik. Jeżeli plik już istnieje, jego zawartość zostanie nadpisana. Jeśli plik nie istnieje, tworzony jest nowy plik. Zwraca NULL, jeśli nie można otworzyć pliku. Tworzy nowy plik tylko do zapisu (bez odczytu). Iterator Java dla mapy |
| A | Wyszukuje plik. Jeśli plik zostanie pomyślnie otwarty, fopen() ładuje go do pamięci i ustawia wskaźnik wskazujący na ostatni znak w nim. Jeśli plik nie istnieje, tworzony jest nowy plik. Zwraca NULL, jeśli nie można otworzyć pliku. Plik jest otwierany tylko w celu dołączenia (zapisu na końcu pliku). |
| r+ | Wyszukuje plik. Otwiera plik do odczytu i zapisu . Jeśli zostanie pomyślnie otwarte, fopen() ładuje go do pamięci i ustawia wskaźnik wskazujący na pierwszy znak. Zwraca NULL, jeśli nie można otworzyć pliku. |
| w+ | Wyszukuje plik. Jeśli plik istnieje, jego zawartość zostanie nadpisana. Jeśli plik nie istnieje, tworzony jest nowy plik. Zwraca NULL, jeśli nie można otworzyć pliku. Różnica między w i w+ polega na tym, że możemy również odczytać plik utworzony za pomocą w+. |
| + | Wyszukuje plik. Jeśli plik zostanie pomyślnie otwarty, fopen() ładuje go do pamięci i ustawia wskaźnik wskazujący ostatni znak w nim. Jeśli plik nie istnieje, tworzony jest nowy plik. Zwraca NULL, jeśli nie można otworzyć pliku. Plik zostanie otwarty do odczytu i dołączenia (zapisu na końcu pliku). |
| rb xor w Javie | Otworzyć plik binarny w trybie odczytu. Jeśli plik nie istnieje, funkcja open() zwraca NULL. |
| wb | Otworzyć plik binarny w trybie zapisu. Ponieważ wskaźnik jest ustawiony na początek pliku, zawartość zostanie nadpisana. Jeśli plik nie istnieje, a tworzony jest nowy plik. |
| ok | Otworzyć plik binarny w trybie dodawania. Wskaźnik pliku jest ustawiony po ostatnim znaku w pliku . A tworzony jest nowy plik jeśli nie istnieje żaden plik o tej nazwie. |
| rb+ | Otworzyć plik binarny w trybie odczytu i zapisu. Jeśli plik nie istnieje, funkcja open() zwraca NULL. |
| wb+ | Otworzyć plik binarny w trybie odczytu i zapisu. Zawartość zostanie nadpisana, jeśli plik istnieje. Zostanie utworzony, jeśli plik nie istnieje. |
| ab+ | Otworzyć plik binarny w trybie odczytu i dołączania. Jeśli plik nie istnieje, zostanie utworzony plik. |
Wartość zwracana
- Funkcja służy do zwrócenia wskaźnika do PLIKU, jeśli wykonanie się powiedzie, w przeciwnym razie zwracane jest NULL.
Przykład fopen()
C
usługi sieciowe Java
// C program to illustrate fopen()> #include> #include> int> main()> {> >// pointer demo to FILE> >FILE>* demo;> >// Creates a file 'demo_file'> >// with file access as write-plus mode> >demo =>fopen>(>'demo_file.txt'>,>'w+'>);> >// adds content to the file> >fprintf>(demo,>'%s %s %s'>,>'Welcome'>,>'to'>,> >'techcodeview.com'>);> >// closes the file pointed by demo> >fclose>(demo);> >return> 0;> }> |
przełącznik maszynopisu
>
>
Po uruchomieniu następującego polecenia zostanie utworzony nowy plik o nazwie plik_demo.txt o następującej treści:
Welcome to techcodeview.com>
Teraz, jeśli chcemy zajrzeć do pliku, musimy uruchomić następujący kod, który otworzy plik i wyświetli jego zawartość.
C
postorderowe przechodzenie drzewa binarnego
// C program to illustrate fopen()> #include> int> main()> {> >// pointer demo to FILE> >FILE>* demo;> >int> display;> >// Creates a file 'demo_file'> >// with file access as read mode> >demo =>fopen>(>'demo_file.txt'>,>'r'>);> >// loop to extract every characters> >while> (1) {> >// reading file> >display =>fgetc>(demo);> >// end of file indicator> >if> (>feof>(demo))> >break>;> >// displaying every characters> >printf>(>'%c'>, display);> >}> >// closes the file pointed by demo> >fclose>(demo);> >return> 0;> }> |
>
>
Wyjście
Welcome to techcodeview.com>
Więcej artykułów na temat obsługi plików w C:
- Podstawy obsługi plików w C
- fopen() dla istniejącego pliku w trybie zapisu
- EOF, getc() i feof() w C
- Tryby otwierania plików (r i r+)