logo

C fopen() funktion med exempel

De fopen() metod i C är en biblioteksfunktion som används för att öppna en fil för att utföra olika operationer som inkluderar läsning, skrivning, etc. tillsammans med olika lägen. Om filen finns öppnar fopen()-funktionen den specifika filen annars skapas en ny fil.

Syntax

Syntaxen för C fopen() är:

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

Parametrar

Metoden accepterar två parametrar av teckenpekartyp:



  • filnamn: Detta är av C-strängtyp och accepterar namnet på filen som behövs för att öppnas.
  • mode_of_operation: Detta är också av typen C-sträng och hänvisar till läget för filåtkomst.

Tabellen nedan listar giltiga mode_of_operation-värden i C med deras betydelse:

Öppningslägen

Beskrivning

r

Söker i filen. Öppnar filen endast för läsning . Om filen öppnas framgångsrikt läser fopen() in den i minnet och sätter upp en pekare som pekar på det första tecknet i den. Om filen inte kan öppnas returnerar fopen() NULL.

I

konvertera byte array till sträng

Söker i filen. Om filen redan finns skrivs dess innehåll över. Om filen inte finns skapas en ny fil. Returnerar NULL, om det inte går att öppna filen. Det skapar en ny fil endast för skrivning (ingen läsning).

a

Söker i filen. Om filen öppnas framgångsrikt läser fopen() in den i minnet och sätter upp en pekare som pekar på det sista tecknet i den. Om filen inte finns skapas en ny fil. Returnerar NULL, om det inte går att öppna filen. Filen öppnas endast för att lägga till (skriver i slutet av filen).

r+

Söker i filen. Öppnar filen för både läsning och skrivning . Om den öppnas framgångsrikt, laddar fopen() in den i minnet och sätter upp en pekare som pekar på det första tecknet i den. Returnerar NULL, om det inte går att öppna filen.

w+

Söker i filen. Om filen finns skrivs dess innehåll över. Om filen inte finns skapas en ny fil. Returnerar NULL, om det inte går att öppna filen. Skillnaden mellan w och w+ är att vi även kan läsa filen skapad med w+.

a+

Söker i filen. Om filen öppnas framgångsrikt läser fopen( ) in den i minnet och sätter upp en pekare som pekar på det sista tecknet i den. Om filen inte finns skapas en ny fil. Returnerar NULL, om det inte går att öppna filen. Filen öppnas för läsning och tillägg (skriver i slutet av filen).

rb

Öppna binär fil i läsläge. Om filen inte finns returnerar funktionen open() NULL.

wb

java virtuell maskin

Öppna binär fil i skrivläge. När pekaren är inställd på början av filen, visas innehållet skrivs över. Om filen inte finns, a ny fil skapas.

ab

Öppna binär fil i append-läge. Filpekaren är inställd efter det sista tecknet i filen . A ny fil skapas om det inte finns någon fil med namnet.

rb+

Öppna binär fil i läs- och skrivläge. Om filen inte finns returnerar funktionen open() NULL.

wb+

Öppna binär fil i läs- och skrivläge. Innehållet skrivs över om filen finns. Den kommer att skapas om filen inte finns.

ab+

Öppna binär fil i läs- och tilläggsläge. En fil kommer att skapas om filen inte finns.

Returvärde

  • Funktionen används för att returnera en pekare till FILE om exekveringen lyckas annars returneras NULL.

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

>

sdlc

>

När du kör följande kommando skapas en ny fil med namnet demo_file.txt med följande innehåll:

Welcome to techcodeview.com>

Om vi ​​nu vill titta på filen måste vi köra följande kod, som öppnar filen och visar dess innehåll.

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>

Fler artiklar om filhantering i C:

  1. Grunderna i filhantering i C
  2. fopen() för en befintlig fil i skrivläge
  3. EOF, getc() och feof() i C
  4. Filöppningslägen (r kontra r+)