C-filer I / O: Skapa, öppna, läsa, skriva och stänga en fil

C Filhantering

En fil kan användas för att lagra en stor volym beständiga data. Liksom många andra språk erbjuder ”C” följande filhanteringsfunktioner,

  1. Skapa en fil
  2. Öppna en fil
  3. Läsa en fil
  4. Skriva till en fil
  5. Stänga en fil

Följande är de viktigaste filhanteringsfunktionerna som finns i ”C”,

funktion syfte
fopen () Skapa en fil eller öppna en befintlig fil
fclose () Stänga en fil
fprintf () Skriva ett datablock till en fil
fscanf () Läsa en blockera data från en fil
getc () Läser ett enda tecken från en fil
putc () Skriver ett enstaka tecken till en fil
getw () Läser ett heltal från en fil
putw () Skriva ett heltal till en fil
fseek () Ställer in en filpekares position till en viss plats
ftell () Returnerar den aktuella positionen för en filpekare
spola tillbaka () Ställer in filpekaren i början av en fil

I denna handledning lär du dig-

  • Hur man skapar en fil
  • Hur man stänger en fil:
  • Skrivning till en fil
    • fputc () Funktion:
    • fputs () Funktion:
    • fprintf () Funktion:
  • Läsa data från en fil
  • Interaktiv fil läsa och skriva med getc och putc

Så här skapar du en fil

När du vill arbeta med en fil är det första steget att skapa en fil. En fil är bara utrymme i ett minne där data lagras.

För att skapa en fil i ett ”C” -program används följande syntax,

FILE *fp;fp = fopen ("file_name", "mode");

I ovanstående syntax är filen en datastruktur som definieras i standardbiblioteket.

fopen är en standardfunktion som används för att öppna en fil.

  • Om filen inte finns i systemet skapas den och öppnas sedan.
  • Om en fil redan finns i systemet öppnas den direkt med den här funktionen.

fp är en filpekare som pekar på typfilen.

När du öppnar eller skapar en fil måste du ange vad du ska göra med filen. En fil i ”C” -programmering kan skapas eller öppnas för läs- / skrivändamål. Ett läge används för att ange om du vill öppna en fil för något av nedan angivna ändamål. Nedan följer de olika typerna av lägen i ”C” -programmering som kan användas när du arbetar med en fil.

Filläge Beskrivning
r Öppna en fil för läsning. Om en fil är i läsläge raderas inga data om en fil redan finns i ett system.
w Öppna en fil för skrivning. Om en fil är i skrivläge skapas en ny fil om en fil inte finns alls. Om en fil redan finns i ett system, trunkeras all data i filen och den öppnas för skrivning ändamål.
a Öppna en fil i append-läge. Om en fil är i append-läge öppnas filen. Innehållet i filen ändras inte.
r + öppen för läsning och skrivning från början
w + öppet för läsning och skrivning, överskrivning av en fil
a + öppen för läsning och skrivning, tillägg till filen

I den givna syntaxen anges filnamnet och läget som strängar, därför måste de alltid omges av dubbla citat.

Exempel:

#include <stdio.h>int main() {FILE *fp;fp = fopen ("data.txt", "w");}

Utdata:

Fil skapas i samma mapp där du har sparat din kod .

Du kan ange sökvägen där du vill skapa din fil

#include <stdio.h>int main() {FILE *fp;fp = fopen ("D://data.txt", "w");}

Hur man stänger en fil

Man bör alltid stänga en fil när operationerna på filen är över. Det betyder att innehållet och länkarna till filen avslutas. Detta förhindrar oavsiktlig skada på filen.

”C” tillhandahåller fclose-funktionen för att utföra filstängning. Syntaxen för fclose är som följer,

fclose (file_pointer);

Exempel:

FILE *fp;fp = fopen ("data.txt", "r");fclose (fp);

Fclose funktionen tar en filpekare som ett argument. Filen som är associerad med filpekaren stängs sedan med hjälp av fclose-funktionen.Det returnerar 0 om stängningen lyckades och EOF (slutet av filen) om det finns ett fel inträffade när filen stängdes.

När filen har stängts kan samma filpekare också användas med andra filer.

Vid programmering ”C” stängs filer automatiskt när programmet avslutas. Att stänga en fil manuellt genom att skriva fclose-funktionen är en bra programmeringsmetod.

Skriva till en fil

I C, när du skriver till en fil, måste nya linjetecken ”\ n” läggas till uttryckligen.

Stdio-biblioteket erbjuder nödvändiga funktioner för att skriva till en fil:

  • fputc (char, file_pointer): Det skriver ett tecken till filen som filpekaren pekar på.
  • fputs (str, file_pointer): Det skriver en sträng till filen som fil_pointer pekar på.
  • fprintf (file_pointer, str, variable_lists): Den skriver ut en sträng till filen pekad av file_pointer. Strängen kan valfritt inkludera formatspecifikatorer och en lista med variabler variabellistor.

Programmet nedan visar hur man skriver till en fil:

fputc () Funktion:

Output:

Ovanstående program skriver ett enda tecken in i fputc_test.txt-filen tills den når nästa radsymbol ”\ n” som indikerar att meningen var framgångsrik skriven. Processen är att ta varje tecken i matrisen och skriva in den i filen.

  1. I ovanstående program har vi skapat och öppnat en fil heter fputc_test.txt i ett skrivläge och förklarar vår sträng som kommer att skrivas in i filen.
  2. Vi gör en tecken för teckenskrivning med hjälp av for loop och placerar varje tecken i vår fil tills ”\ n ”karaktär påträffas och sedan stängs filen med fclose-funktionen.

fputs () Funktion:

OUTPUT:

  1. I ovanstående program har vi skapat och öppnat en fil som heter fputs_test.txt i ett skrivläge.
  2. När vi har gjort en skrivoperation med funktionen fputs () genom att skriva tre olika strängar
  3. Sedan stängs filen med fclose-funktionen.

fprintf () Funktion:

UTGÅNG:

  1. I ovanstående program har vi skapat och öppnat en fil som heter fprintf_test.txt i ett skrivläge.
  2. När en skrivoperation har utförts med fprintf () -funktionen genom att skriva en sträng stängs filen med fclose-funktionen.

Läsa data från en fil

Det finns tre olika funktioner som är avsedda för läsning av data från en fil

  • fgetc (file_pointer): Den returnerar nästa tecken från filen som pekaren pekar på. När slutet på filen har nåtts skickas EOF tillbaka.
  • fgets (buffert, n, fil_pekare): Den läser n-1 tecken från filen och lagrar strängen i en buffert där NULL-tecknet ”\ 0” läggs till som det sista tecknet.
  • fscanf (file_pointer, conversion_specifiers, variable_adresses): Den används för att analysera och analysera data. Den läser tecken från filen och tilldelar ingången till en lista över variabla pekare variabeladresser med hjälp av konverteringsspecifikationer. Tänk på att som med scanf slutar fscanf att läsa en sträng när utrymme eller ny linje påträffas.

Följande program visar läsning från filen fputs_test.txt med fgets (), fscanf () och fgetc () fungerar respektive:

Resultat:

  1. I ovanstående program har vi öppnat filen som heter ”fprintf_test.txt” som tidigare skrevs med fprintf () -funktionen, och den innehåller ”Learning C med Guru99” -sträng. Vi läser den med funktionen fgets () som läser rad för rad där buffertstorleken måste vara tillräcklig för att hantera hela raden.
  2. Vi öppnar filen igen för att återställa pekarfilen till punkten i början av fil. Skapa olika strängvariabler för att hantera varje ord separat. Skriv ut variablerna för att se deras innehåll. Fscanf () används huvudsakligen för att extrahera och analysera data från en fil.
  3. Öppna filen igen för att återställa pekaren till punkten i början av filen. Läs data och skriv ut från filtecken för tecken med hjälp av getc () -funktionen tills EOF-uttalandet påträffas
  4. Efter att ha utfört en läsningsfil med olika varianter stängde vi igen filen med fclose-funktionen.

Interaktiv fil läs och skriv med getc och putc

Dessa är de enklaste filåtgärderna. Getc står för get character, och putc står för put character. Dessa två funktioner används för att hantera endast ett tecken i taget.

Följande program visar filhanteringsfunktionerna i ”C” -programmering:

Utdata:

  1. I programmet ovan har skapat och öppnat en fil som heter demo i ett skrivläge.
  2. Efter att en skrivoperation har utförts stängs filen med fclose-funktionen.
  3. Vi har åter öppnat en fil som nu innehåller data i ett läsläge. En stundslinga kommer att köras tills eof hittas. När filens slut har hittats avslutas operationen och data visas med printf-funktionen.
  4. Efter att en läsoperation utförts stängs filen igen med fclose-funktionen.

Sammanfattning

  • En fil är ett utrymme i ett minne där data lagras.
  • ”C ”programmering ger olika funktioner för att hantera en fil.
  • En mekanism för att manipulera med filerna kallas filhantering.
  • En fil måste öppnas innan du utför operationer på den.
  • En fil kan öppnas i läs-, skriv- eller tilläggsläge.
  • Funktionerna Getc och putc används för att läsa och skriva ett enstaka tecken.
  • funktion fscanf () tillåter att läsa och analysera data från en fil
  • Vi kan läsa (med hjälp av getc-funktionen) en hel fil genom att loopa för att täcka hela filen tills EOF påträffas
  • Vi kan skriva till en fil efter att ha skapat dess namn genom att använda funktionen fprintf () och den måste ha newl ine tecken i slutet av strängtexten.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *