logo

C fopen() funktion med eksempler

Det fopen() metode i C er en biblioteksfunktion, der bruges til at åbne en fil for at udføre forskellige operationer, som inkluderer læsning, skrivning osv. sammen med forskellige tilstande. Hvis filen eksisterer, åbner fopen()-funktionen den pågældende fil, ellers oprettes en ny fil.

Syntaks

Syntaksen for C fopen() er:



FILE * fopen (const char * file_name , const char * mode_of_operation );>

Parametre

Metoden accepterer to parametre af tegnmarkørtype:

  • filnavn: Dette er af C-streng type og accepterer navnet på den fil, der skal åbnes.
  • mode_of_operation: Dette er også af C-strengtype og refererer til filadgangstilstanden.

Nedenstående tabel viser gyldige mode_of_operation værdier i C med deres betydning:

Åbningstilstande



Beskrivelse

midterknap i css

r

Søger fil. Åbner filen til kun at læse . Hvis filen åbnes med succes, indlæser fopen() den i hukommelsen og opsætter en markør, der peger på det første tegn i den. Hvis filen ikke kan åbnes, returnerer fopen() NULL.



I

Søger fil. Hvis filen allerede eksisterer, overskrives dens indhold. Hvis filen ikke eksisterer, oprettes en ny fil. Returnerer NULL, hvis filen ikke kan åbnes. Det opretter en ny fil kun til skrivning (ingen læsning).

-en

Søger fil. Hvis filen åbnes med succes, indlæser fopen() den i hukommelsen og opsætter en markør, der peger på det sidste tegn i den. Hvis filen ikke eksisterer, oprettes en ny fil. Returnerer NULL, hvis filen ikke kan åbnes. Filen åbnes kun for at tilføje (skrives i slutningen af ​​filen).

r+

Søger fil. Åbner filen til både læsning og skrivning . Hvis den åbnes med succes, indlæser fopen() den i hukommelsen og opsætter en markør, der peger på det første tegn i den. Returnerer NULL, hvis filen ikke kan åbnes.

w+

Søger fil. Hvis filen eksisterer, overskrives dens indhold. Hvis filen ikke eksisterer, oprettes en ny fil. Returnerer NULL, hvis filen ikke kan åbnes. Forskellen mellem w og w+ er, at vi også kan læse filen oprettet ved hjælp af w+.

a+

Søger fil. Hvis filen åbnes med succes, indlæser fopen( ) den i hukommelsen og opsætter en markør, der peger på det sidste tegn i den. Hvis filen ikke eksisterer, oprettes en ny fil. Returnerer NULL, hvis filen ikke kan åbnes. Filen åbnes for læsning og tilføjelse (skrivning i slutningen af ​​filen).

rb

Åbn binær fil i læsetilstand. Hvis filen ikke findes, returnerer funktionen open() NULL.

wb

Åbn binær fil i skrivetilstand. Når markøren er sat til starten af ​​filen, vil indholdet overskrives. Hvis filen ikke findes, a ny fil oprettes.

ab

Åbn binær fil i tilføjelsestilstand. Filmarkøren er indstillet efter det sidste tegn i filen . EN ny fil oprettes hvis der ikke findes en fil med navnet.

rb+

Åbn binær fil i læse- og skrivetilstand. Hvis filen ikke eksisterer, returnerer funktionen open() NULL.

wb+

Åbn binær fil i læse- og skrivetilstand. Indholdet overskrives, hvis filen eksisterer. Den oprettes, hvis filen ikke eksisterer.

ab+

Åbn binær fil i læse- og tilføjelsestilstand. Der oprettes en fil, hvis filen ikke eksisterer.

Returværdi

  • Funktionen bruges til at returnere en pointer til FILE, hvis udfø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 kører følgende kommando, oprettes en ny fil med navnet demo_file.txt med følgende indhold:

Welcome to techcodeview.com>

Hvis vi nu ønsker at se på filen, skal vi køre følgende kode, som åbner filen og viser dens indhold.

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;> }>

>

>

Produktion

Welcome to techcodeview.com>

Flere artikler om filhåndtering i C:

  1. Grundlæggende om filhåndtering i C
  2. fopen() for en eksisterende fil i skrivetilstand
  3. EOF, getc() og feof() i C
  4. Filåbningstilstande (r versus r+)