The metoda fopen(). v C je funkcija knjižnice, ki se uporablja za odpiranje datoteke za izvajanje različnih operacij, ki vključujejo branje, pisanje itd., skupaj z različnimi načini. Če datoteka obstaja, potem funkcija fopen() odpre določeno datoteko, sicer se ustvari nova datoteka.
Sintaksa
Sintaksa C fopen() je:
FILE * fopen (const char * file_name , const char * mode_of_operation );>
Parametri
Metoda sprejme dva parametra tipa znakovnega kazalca:
- Ime datoteke: To je vrste niza C in sprejme ime datoteke, ki jo je treba odpreti.
- način_delovanja: Tudi to je vrste niza C in se nanaša na način dostopa do datoteke.
Spodnja tabela navaja veljavne vrednosti mode_of_operation v C z njihovim pomenom:
| Načini odpiranja | Opis |
|---|---|
| r | Išče datoteko. Odpre datoteko samo za branje . Če je datoteka uspešno odprta, jo fopen() naloži v pomnilnik in nastavi kazalec, ki kaže na prvi znak v njej. Če datoteke ni mogoče odpreti, fopen() vrne NULL. |
| noter zamenjava niza v Javi | Išče datoteko. Če datoteka že obstaja, je njena vsebina prepisana. Če datoteka ne obstaja, se ustvari nova datoteka. Vrne NULL, če datoteke ni mogoče odpreti. Ustvari novo datoteko samo za pisanje (brez branja). |
| a | Išče datoteko. Če je datoteka uspešno odprta, jo fopen() naloži v pomnilnik in nastavi kazalec, ki kaže na zadnji znak v njej. Če datoteka ne obstaja, se ustvari nova datoteka. Vrne NULL, če datoteke ni mogoče odpreti. Datoteka se odpre samo za dodajanje (zapis na konec datoteke). |
| r+ | Išče datoteko. Odpre datoteko za branje in pisanje . Če se uspešno odpre, ga fopen() naloži v pomnilnik in nastavi kazalec, ki kaže na prvi znak v njem. Vrne NULL, če datoteke ni mogoče odpreti. |
| w+ | Išče datoteko. Če datoteka obstaja, je njena vsebina prepisana. Če datoteka ne obstaja, se ustvari nova datoteka. Vrne NULL, če datoteke ni mogoče odpreti. Razlika med w in w+ je v tem, da lahko tudi preberemo datoteko, ustvarjeno z w+. |
| a+ | Išče datoteko. Če je datoteka uspešno odprta, jo fopen() naloži v pomnilnik in nastavi kazalec, ki kaže na zadnji znak v njej. Če datoteka ne obstaja, se ustvari nova datoteka. Vrne NULL, če datoteke ni mogoče odpreti. Datoteka se odpre za branje in dodajanje (zapis na konec datoteke). |
| rb | Odprite binarna datoteka v načinu branja. Če datoteka ne obstaja, vrne funkcija open() NULL. |
| wb java array za seznam | Odprite binarna datoteka v načinu pisanja. Ker je kazalec nastavljen na začetek datoteke, je vsebina je prepisana. Če datoteka ne obstaja, a ustvarjena je nova datoteka. |
| ab | Odprite binarna datoteka v načinu dodajanja. Kazalec datoteke je nastavljen za zadnjim znakom v datoteki . A ustvarjena je nova datoteka če ne obstaja datoteka s tem imenom. |
| rb+ | Odprite binarno datoteko v načinu branja in pisanja. Če datoteka ne obstaja, vrne funkcija open() NULL. |
| wb+ | Odprite binarno datoteko v načinu branja in pisanja. Če datoteka obstaja, se vsebina prepiše. Ustvarila se bo, če datoteka ne obstaja. |
| ab+ naklep intent | Odprite binarna datoteka v načinu branja in dodajanja. Datoteka bo ustvarjena, če datoteka ne obstaja. |
Povratna vrednost
- Funkcija se uporablja za vrnitev kazalca na FILE, če je izvedba uspešna, sicer se vrne NULL.
Primer fopen()
C
// 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;> }> |
>
>
Ko zaženete naslednji ukaz, bo ustvarjena nova datoteka z imenom demo_file.txt z naslednjo vsebino:
naključno število v Javi
Welcome to techcodeview.com>
Zdaj, če želimo pogledati v datoteko, moramo zagnati naslednjo kodo, ki bo odprla datoteko in prikazala njeno vsebino.
C
// 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;> }> |
>
>
Izhod
Welcome to techcodeview.com>
Več člankov o ravnanju z datotekami v C:
- Osnove ravnanja z datotekami v C
- fopen() za obstoječo datoteko v načinu pisanja
- EOF, getc() in feof() v C
- Načini odpiranja datotek (r proti r+)