De fopen() metode i C er en bibliotekfunksjon som brukes til å åpne en fil for å utføre ulike operasjoner som inkluderer lesing, skriving osv. sammen med ulike moduser. Hvis filen eksisterer, åpner fopen()-funksjonen den aktuelle filen, ellers opprettes en ny fil.
Syntaks
Syntaksen til C fopen() er:
FILE * fopen (const char * file_name , const char * mode_of_operation );>
Parametere
Metoden godtar to parametere av tegnpekertype:
- filnavn: Dette er av C-strengtype og godtar navnet på filen som må åpnes.
- mode_of_operation: Dette er også av C-strengtype og refererer til modusen for filtilgang.
Tabellen nedenfor viser gyldige mode_of_operation-verdier i C med deres betydning:
| Åpningsmoduser | Beskrivelse typescript pilfunksjon |
|---|---|
| r | Søker i filen. Åpner filen kun for lesing . Hvis filen åpnes vellykket, laster fopen() den inn i minnet og setter opp en peker som peker til det første tegnet i den. Hvis filen ikke kan åpnes, returnerer fopen() NULL. |
| I | Søker i filen. Hvis filen allerede eksisterer, blir innholdet overskrevet. Hvis filen ikke eksisterer, opprettes en ny fil. Returnerer NULL, hvis ikke kan åpne filen. Det oppretter en ny fil kun for skriving (ingen lesing). |
| en | Søker i filen. Hvis filen åpnes vellykket, laster fopen() den inn i minnet og setter opp en peker som peker til det siste tegnet i den. Hvis filen ikke eksisterer, opprettes en ny fil. Returnerer NULL, hvis ikke kan åpne filen. Filen åpnes kun for å legge til (skriving på slutten av filen). |
| r+ | Søker i filen. Åpner filen for både lesing og skriving . Hvis den åpnes vellykket, laster fopen() den inn i minnet og setter opp en peker som peker til det første tegnet i det. Returnerer NULL hvis du ikke klarer å åpne filen. |
| w+ | Søker i filen. Hvis filen eksisterer, blir innholdet overskrevet. Hvis filen ikke eksisterer, opprettes en ny fil. Returnerer NULL, hvis ikke kan åpne filen. Forskjellen mellom w og w+ er at vi også kan lese filen som er opprettet med w+. |
| a+ | Søker i filen. Hvis filen åpnes vellykket, laster fopen( ) den inn i minnet og setter opp en peker som peker til det siste tegnet i den. Hvis filen ikke eksisterer, opprettes en ny fil. Returnerer NULL, hvis ikke kan åpne filen. Filen åpnes for lesing og vedlegg (skriving på slutten av filen). |
| rb | Åpne binær fil i lesemodus. Hvis filen ikke eksisterer, returnerer funksjonen open() NULL. |
| wb | Åpne binær fil i skrivemodus. Når pekeren er satt til starten av filen, vil innholdet overskrives. Hvis filen ikke eksisterer, a ny fil opprettes. |
| ab | Åpne binær fil i append-modus. Filpekeren er satt etter det siste tegnet i filen . EN ny fil opprettes hvis det ikke finnes noen fil med navnet. |
| rb+ | Åpne binær fil i lese- og skrivemodus. Hvis filen ikke eksisterer, returnerer funksjonen open() NULL. |
| wb+ | Åpne binær fil i lese- og skrivemodus. Innholdet overskrives hvis filen eksisterer. Den vil bli opprettet hvis filen ikke eksisterer. |
| ab+ | Åpne binær fil i lese- og tilleggsmodus. En fil vil bli opprettet hvis filen ikke eksisterer. |
Returverdi
- Funksjonen brukes til å returnere en peker til FILE hvis utførelsen lykkes, ellers returneres NULL.
Eksempel på 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;> }> |
>
>
Når du kjører følgende kommando, opprettes en ny fil med navnet demo_file.txt med følgende innhold:
Welcome to techcodeview.com>
Hvis vi nå ønsker å se på filen, må vi kjøre følgende kode, som vil åpne filen og vise innholdet.
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;> }> |
>
>
Produksjon
Welcome to techcodeview.com>
Flere artikler om filhåndtering i C:
- Grunnleggende om filhåndtering i C
- fopen() for en eksisterende fil i skrivemodus
- EOF, getc() og feof() i C
- Filåpningsmoduser (r versus r+)