C-filer I / O: Opret, åbn, læs, skriv og luk en fil

C Filhåndtering

En fil kan bruges til at gemme en stor mængde vedvarende data. Som mange andre sprog giver “C” følgende filhåndteringsfunktioner,

  1. Oprettelse af en fil
  2. Åbning af en fil
  3. Læsning af en fil
  4. Skrivning til en fil
  5. Lukning af en fil

Følgende er de vigtigste filhåndteringsfunktioner, der er tilgængelige i “C”,

funktion formål
fopen () Oprettelse af en fil eller åbning af en eksisterende fil
fclose () Lukning af en fil
fprintf () Skrivning af en datablok til en fil
fscanf () Læsning af blokere data fra en fil
getc () Læser et enkelt tegn fra en fil
putc () Skriver et enkelt tegn til en fil
getw () Læser et heltal fra en fil
putw () Skrivning af et heltal til en fil
fseek () Indstiller placeringen af en filmarkør til en bestemt placering
ftell () Returnerer den aktuelle position af en filmarkør
spol tilbage () Indstiller filmarkøren i begyndelsen af en fil

I denne vejledning lærer du-

  • Sådan oprettes en fil
  • Sådan lukkes en fil:
  • Skrivning til en fil
    • fputc () -funktion:
    • fputs () Funktion:
    • fprintf () Funktion:
  • Læsning af data fra en fil
  • Interaktiv fil Læs og skriv med getc og putc

Sådan oprettes en fil

Når du vil arbejde med en fil, er det første trin at oprette en fil. En fil er intet andet end plads i en hukommelse, hvor data lagres.

For at oprette en fil i et “C” -program anvendes følgende syntaks,

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

I ovenstående syntaks er filen en datastruktur, der er defineret i standardbiblioteket.

fopen er en standardfunktion, der bruges til at åbne en fil.

  • Hvis filen ikke findes på systemet, oprettes den og åbnes derefter.
  • Hvis der allerede er en fil på systemet, åbnes den direkte ved hjælp af denne funktion.

fp er en filmarkør, der peger på typefilen.

Når du åbner eller opretter en fil, skal du angive, hvad du vil gøre med filen. En fil i “C” programmering kan oprettes eller åbnes med henblik på læsning / skrivning. En tilstand bruges til at specificere, om du vil åbne en fil til et af nedenstående formål. Følgende er de forskellige typer tilstande i “C” programmering, som kan bruges, mens du arbejder med en fil.

Filtilstand Beskrivelse
r Åbn en fil til læsning. Hvis en fil er i læsningstilstand, slettes ingen data, hvis en fil allerede findes på et system.
w Åbn en fil til skrivning. Hvis en fil er i skrivetilstand, oprettes der en ny fil, hvis der overhovedet ikke findes en fil. Hvis en fil allerede er til stede i et system, afkortes alle data i filen, og den åbnes til skrivning formål.
a Åbn en fil i tilføjelsestilstand. Hvis en fil er i tilføjelsestilstand, åbnes filen. Indholdet i filen ændrer sig ikke.
r + åben til læsning og skrivning fra begyndelsen
w + åben for læsning og skrivning, overskrivning af en fil
a + åben for læsning og skrivning, tilføjelse til filen

I den givne syntaks er filnavnet og tilstanden angivet som strenge, og derfor skal de altid være lukket i dobbelt anførselstegn.

Eksempel:

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

Output:

Fil oprettes i den samme mappe, hvor du har gemt din kode .

Du kan angive den sti, hvor du vil oprette din fil

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

Sådan lukkes en fil

Man skal altid lukke en fil, når handlingerne på filen er overstået. Det betyder, at indholdet og linkene til filen afsluttes. Dette forhindrer utilsigtet beskadigelse af filen.

“C” giver fclose-funktionen til at udføre fillukning. Syntaksen for fclose er som følger,

fclose (file_pointer);

Eksempel:

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

fclose funktion tager en filmarkør som et argument. Filen, der er knyttet til filmarkøren, lukkes derefter ved hjælp af fclose-funktionen.Det returnerer 0, hvis lukningen var vellykket, og EOF (slutningen af filen), hvis der er opstået en fejl, mens filen lukkes.

Efter lukning af filen kan den samme filmarkør også bruges med andre filer.

Ved programmering “C” lukkes filer automatisk, når programmet afsluttes. At lukke en fil manuelt ved at skrive fclose-funktionen er en god programmeringspraksis.

Skrivning til en fil

I C, når du skriver til en fil, skal nye linjetegn “\ n” tilføjes eksplicit.

stdio-biblioteket tilbyder de nødvendige funktioner til at skrive til en fil:

  • fputc (char, file_pointer): Det skriver et tegn til filen, som fil_pointer peger på.
  • fputs (str, file_pointer): Den skriver en streng til den fil, som fil_pointer peger på.
  • fprintf (file_pointer, str, variable_lists): Den udskriver en streng til den fil, der peges på af file_pointer. Strengen kan valgfrit omfatte formatspecifikatorer og en liste over variabler variable_lists.

Programmet nedenfor viser, hvordan man skriver til en fil:

fputc () Funktion:

Output:

Ovenstående program skriver et enkelt tegn ind i fputc_test.txt-filen, indtil den når det næste linjesymbol “\ n”, hvilket indikerer, at sætningen blev skrevet med succes. Processen er at tage hvert tegn i arrayet og skrive det i filen.

  1. I ovenstående program har vi oprettet og åbnet en fil kaldes fputc_test.txt i en skrivetilstand og erklærer vores streng, som vil blive skrevet i filen.
  2. Vi udfører en karakter for tegn-skrivning ved hjælp af for loop og sætter hvert tegn i vores fil indtil “\ n “der er tegn på tegn, så lukkes filen ved hjælp af fclose-funktionen.

fputs () Funktion:

OUTPUT:

  1. I ovenstående program har vi oprettet og åbnet en fil, der hedder fputs_test.txt i en skrivetilstand.
  2. Efter at vi har foretaget en skrivning ved hjælp af fputs () -funktionen ved at skrive tre forskellige strenge
  3. Derefter lukkes filen ved hjælp af fclose-funktionen.

fprintf () Funktion:

OUTPUT:

  1. I ovenstående program har vi oprettet og åbnet en fil kaldet fprintf_test.txt i en skrivetilstand.
  2. Når en skrivehandling er udført ved hjælp af fprintf () -funktionen ved at skrive en streng, lukkes filen ved hjælp af fclose-funktionen.

Læsning af data fra en fil

Der er tre forskellige funktioner dedikeret til læsning af data fra en fil

  • fgetc (file_pointer): Det returnerer det næste tegn fra den fil, som filmarkøren peger på. Når slutningen af filen er nået, sendes EOF tilbage.
  • fgets (buffer, n, file_pointer): Den læser n-1 tegn fra filen og gemmer strengen i en buffer, hvor NULL-tegnet “\ 0” er tilføjet som det sidste tegn.
  • fscanf (file_pointer, conversion_specifiers, variable_adresses): Det bruges til at analysere og analysere data. Det læser tegn fra filen og tildeler input til en liste over variabelpegere variable_adresser ved hjælp af konverteringsspecifikationer. Husk, at som med scanf, stopper fscanf med at læse en streng, når der opstår mellemrum eller ny linje.

Følgende program viser læsning fra fputs_test.txt-fil ved hjælp af fgets (), fscanf () og fgetc () fungerer henholdsvis:

Resultat:

  1. I ovenstående program har vi åbnet filen kaldet “fprintf_test.txt”, som tidligere blev skrevet ved hjælp af fprintf () -funktionen, og den indeholder “Learning C med Guru99” -streng. Vi læser det ved hjælp af funktionen fgets (), der læser linje for linje, hvor bufferstørrelsen skal være nok til at håndtere hele linjen.
  2. Vi genåbner filen for at nulstille markøren til punktet i begyndelsen af fil. Opret forskellige strengvariabler til at håndtere hvert ord separat. Udskriv variablerne for at se deres indhold. Fscanf () bruges hovedsageligt til at udtrække og parsere data fra en fil.
  3. Åbn filen igen for at nulstille markørfilen til den peger i starten af filen. Læs data og udskriv dem fra filens karakter for tegn ved hjælp af getc () -funktionen, indtil EOF-udsagnet er stødt
  4. Efter at have udført en læsningsoperationsfil ved hjælp af forskellige varianter, lukkede vi igen filen ved hjælp af fclose-funktionen.

Interaktiv fil læse og skrive med getc og putc

Dette er de enkleste filhandlinger. Getc står for get character, og putc står for put character. Disse to funktioner bruges til kun at håndtere et enkelt tegn ad gangen.

Følgende program demonstrerer filhåndteringsfunktionerne i “C” programmering:

Output:

  1. I ovenstående program vi har oprettet og åbnet en fil kaldet demo i en skrivetilstand.
  2. Efter at en skrivning er udført, lukkes filen ved hjælp af fclose-funktionen.
  3. Vi har igen åbnet en fil som nu indeholder data i en læsetilstand. Et stykke loop udføres, indtil eof findes. Når filens afslutning er fundet, afsluttes handlingen, og data vises ved hjælp af printf-funktionen.
  4. Efter udførelse af en læsningsoperation lukkes filen igen ved hjælp af fclose-funktionen.

Oversigt

  • En fil er et mellemrum i en hukommelse, hvor data lagres.
  • “C “programmering giver forskellige funktioner til at håndtere en fil.
  • En mekanisme til manipulation med filerne kaldes filhåndtering.
  • En fil skal åbnes, før der udføres handlinger på den.
  • En fil kan åbnes i en læse-, skrive- eller tilføjelsestilstand.
  • Getc- og putc-funktioner bruges til at læse og skrive et enkelt tegn.
  • funktion fscanf () tillader at læse og parsere data fra en fil
  • Vi kan læse (ved hjælp af getc-funktionen) en hel fil ved at løkke for at dække hele filen, indtil EOF er stødt
  • Vi kan skrive til en fil efter oprettelse af dens navn ved hjælp af funktionen fprintf (), og den skal have den nye ine tegn i slutningen af strengteksten.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *