C fájlok I / O: Fájl létrehozása, megnyitása, olvasása, írása és bezárása

C Fájlkezelés

A fájl nagy mennyiségű tartós adat tárolására használható. Sok más nyelvhez hasonlóan a C is a következő fájlkezelési funkciókat biztosítja,

  1. fájl létrehozása
  2. fájl megnyitása
  3. fájl olvasása
  4. Írás fájlba
  5. Fájl bezárása

Az alábbiakban a legfontosabb fájlkezelési funkciók érhetők el a “C” fájlban.

függvény cél
fopen () Fájl létrehozása vagy meglévő fájl megnyitása
fclose () Fájl bezárása
fprintf () Adattömb írása fájlba
fscanf () Egy fájl olvasása adatok blokkolása egy fájlból
getc () Egyetlen karakter olvasása egy fájlból
putc () Egyetlen karaktert ír egy fájlba
getw () Egész számot olvas ki egy fájlból
putw () Egész szám írása fájlba
fseek () A fájlmutató helyét meghatározott helyre állítja
ftell () A fájlmutató
visszatekerés () A fájlmutatót a fájl elején állítja be

Ebben az oktatóanyagban megismerheti-

  • fájl létrehozása
  • Fájl bezárása:
  • Írás fájlba
    • fputc () Funkció:
    • fputs () Funkció:
    • fprintf () Funkció:
  • Adatok olvasása egy fájlból
  • Interaktív fájl olvasása és írása a getc és a putc használatával

Fájl létrehozása

Amikor egy fájllal szeretne dolgozni, az első lépés egy fájl létrehozása. A fájl nem más, mint egy hely a memóriában, ahol adatokat tárolnak.

Fájl létrehozásához a “C” programban a szintaxist követve

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

A fenti szintaxisban a fájl egy adatstruktúra, amelyet a szabványos könyvtár határoz meg.

A fopen egy szabványos függvény, amelyet egy fájl megnyitására használnak.

  • Ha a fájl nincs a rendszeren, akkor létrejön, majd megnyílik.
  • Ha egy fájl már van a rendszeren, akkor közvetlenül megnyílik használja ezt a függvényt.

Az fp egy fájlmutató, amely a típusú fájlra mutat.

Amikor megnyit egy fájlt, vagy létrehoz egy fájlt, meg kell határoznia, hogy mit fog kezdeni a fájllal. A “C” programozású fájl létrehozható vagy megnyitható olvasási / írási célokra. A mód segítségével meghatározható, hogy az alábbiakban megadott célokból meg akarja-e nyitni a fájlt. Az alábbiakban bemutatjuk a “C” programozás különféle módjait, amelyek egy fájl használatakor használhatók.

Fájl mód Leírás
r Nyisson meg egy fájlt olvasásra. Ha egy fájl olvasási módban van, akkor az adatok nem kerülnek törlésre, ha egy fájl már van a rendszeren.
w Nyisson meg egy fájlt írásra. Ha egy fájl írásmódban van, akkor új fájl jön létre, ha egy fájl egyáltalán nem létezik. Ha egy fájl már van a rendszeren, akkor a fájlban lévő összes adat csonkolva van, és megnyitásra kerül az íráshoz.
a Nyissa meg a fájlt függelék módban. Ha egy fájl függelék módban van, akkor a fájl megnyílik. A fájl tartalma nem változik.
r + az elejétől kezdve olvasható és írható
w + nyitott olvasásra és írásra, fájl felülírása
a + nyitva olvasásra és írásra, fájlhoz csatolás

Az adott szintaxisban a fájlnév és az üzemmód karakterláncként van megadva, ezért mindig dupla idézőjelek közé kell tenni őket.

Példa:

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

Kimenet:

A fájl ugyanabban a mappában jön létre, ahová elmentette a kódot .

Megadhatja a fájl létrehozásának elérési útját

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

Fájl bezárása

Mindig be kell zárni egy fájlt, ha a fájlon végzett műveletek véget érnek. Ez azt jelenti, hogy a fájl tartalma és linkjei megszűnnek. Ez megakadályozza a fájl véletlen károsodását.

A “C” az fclose függvényt biztosítja a fájl bezárási művelet végrehajtásához. Az fclose szintaxisa a következő,

fclose (file_pointer);

Példa:

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

Az fclose függvény argumentumként egy fájlmutatót vesz fel. A fájlmutatóhoz társított fájlt ezután az fclose függvény segítségével bezárják.0-t ad vissza, ha a bezárás sikeres volt, és EOF-t (a fájl vége), ha hiba történt a fájl bezárása közben.

A fájl bezárása után ugyanaz a fájlmutató más fájlokkal is használható.

A “C” programozásban a fájlok automatikusan bezáródnak, amikor a program leáll. A fájl manuális bezárása az fclose függvény megírásával jó programozási gyakorlat.

Írás fájlba

A C fájlban, amikor fájlba ír, kifejezetten hozzá kell adni a \ n “új” karaktereket.

Az stdio könyvtár a fájlba íráshoz szükséges funkciókat kínálja:

  • fputc (char, file_pointer): Karaktert ír a fájlba, amelyre a file_pointer mutat.
  • bemenetek (str, file_pointer): Karaktersorozatot ír a fájlhoz, amelyet a file_pointer mutat.
  • fprintf (file_pointer, str, variable_lists): Karaktersorozatot nyomtat a fájlra, amelyre a file_pointer mutat. A karakterlánc opcionálisan tartalmazhat formátummeghatározókat és a változó_listák változóinak listáját.

Az alábbi program megmutatja, hogyan kell írni egy fájlba:

fputc () Funkció:

Kimenet:

A fenti program egyetlen karaktert ír az fputc_test.txt fájlba, amíg el nem éri a következő “\ n” sor szimbólumot, amely azt jelzi, hogy a mondatot sikeresen megírták. A folyamat az, hogy vegyük a tömb minden karakterét és beírjuk a fájlba.

  1. A fenti programban létrehoztunk és megnyitottunk egy fájlt fputc_test.txt nevet írási módban, és deklaráljuk a fájlba beírandó karakterláncunkat.
  2. Karakterenként írási műveletet hajtunk végre a ciklushoz, és minden karaktert a fájlunkba helyezünk, amíg a “\ n “karaktert találunk, majd a fájlt az fclose függvény segítségével lezárjuk.

fputs () Funkció:

OUTPUT:

  1. A fenti programban létrehoztunk és megnyitottunk egy fájlt az fputs_test.txt nevű fájlban írási módban.
  2. Miután három különböző karakterláncot írtunk egy írási műveletre az fputs () függvény használatával
  3. Ezután a fájlt az fclose függvény segítségével lezárjuk.

fprintf () Funkció:

OUTPUT:

  1. A fenti programban létrehoztunk és megnyitottunk egy fprintf_test.txt nevű fájlt írási módban.
  2. Miután az fprintf () függvény használatával írási műveletet hajtott végre egy karakterlánc megírásával, akkor a fájlt az fclose függvény segítségével lezárjuk.

Adatok olvasása egy fájlból

Három különböző funkció van az adatok fájlból történő olvasására.

  • fgetc (file_pointer): A fájl következő mutatóját adja vissza, amelyre a fájlmutató mutat. Amikor elérte a fájl végét, az EOF-t visszaküldi.
  • fgets (buffer, n, file_pointer): n-1 karaktert olvas ki a fájlból, és a karakterláncot egy pufferben tárolja, amelyben a NULL “\ 0” karaktert utolsó karakterként csatolják.
  • fscanf (file_pointer, conversion_specifiers, variable_adresses): Az adatok elemzésére és elemzésére szolgál. Karaktereket olvas ki a fájlból, és a bemenetet a változó címek változó mutatók listájához rendeli konverziós specifikátorok segítségével. Ne feledje, hogy mint a scanf esetében, az fscanf is abbahagyja a karakterlánc olvasását, ha szóköz vagy új sor kerül. Az fgetc () függvényei:

    Eredmény:

    1. A fenti programban megnyitottuk az “fprintf_test.txt” nevű fájlt, amelyet korábban az fprintf () függvény segítségével írtunk, és amely tartalmazza a “C tanulását Guru99-vel” karakterláncot. A fgets () függvény segítségével olvastuk el, amely soronként olvassa el, ahol a puffer méretének elegendőnek kell lennie az egész sor kezeléséhez.
    2. Újra megnyitjuk a fájlt, hogy a mutatófájl visszaálljon a fájl. Hozzon létre különféle karakterlánc-változókat az egyes szavak külön kezeléséhez. A változók kinyomtatásával megtekintheti azok tartalmát. Az fscanf () főleg az adatok kinyerésére és elemzésére szolgál egy fájlból.
    3. Nyissa meg újra a fájlt, hogy a mutatófájl visszaálljon a fájl elejére. Olvassa el az adatokat, és nyomtassa ki fájlból karakterenként, a getc () függvény használatával, amíg az EOF utasítás meg nem jelenik.
    4. Miután egy olvasási műveletet hajtott végre különböző változatokkal, ismét bezártuk a fájlt az fclose függvény segítségével. / li>

    Interaktív fájlok olvasása és írása a getc és a putc használatával

    Ezek a legegyszerűbb fájlműveletek. A Getc a get karaktert, a putc pedig a put karaktert jelenti. Ez a két funkció egyszerre csak egyetlen karakter kezelésére szolgál.

    A következő program bemutatja a fájlkezelési funkciókat a “C” programozásban:

    Kimenet:

    1. A fenti programban létrehoztak és megnyitottak egy demó nevű fájlt írási módban.
    2. Az írási művelet végrehajtása után a fájl bezáródik az fclose függvény segítségével.
    3. Ismét megnyitottunk egy fájlt amely most adatokat tartalmaz olvasási módban. Egy darab ciklus végrehajtódik, amíg az eof nem található. Miután megtalálta a fájl végét, a művelet befejeződik, és az adatok a printf függvény segítségével jelennek meg.
    4. Az olvasási művelet végrehajtása után a fájlt az fclose függvény segítségével ismét bezárják.

    Összegzés

    • A fájl egy hely a memóriában, ahol adatokat tárolnak.
    • “C “A programozás különféle funkciókat biztosít egy fájl kezeléséhez.
    • A fájlokkal való manipuláció mechanizmusát fájlkezelésnek hívják.
    • A fájlokat meg kell nyitni, mielőtt a műveleteket végrehajtanák rajta.
    • A fájl olvasási, írási vagy csatolási módban nyitható meg.
    • A Getc és a putc függvényekkel egyetlen karakter olvasható és írható.
    • Az fscanf () függvény lehetővé teszi az adatok olvasását és elemzését egy fájlból.
    • Egy teljes fájlt olvashatunk (a getc függvény segítségével) azáltal, hogy az összes fájlt lefedjük, amíg az EOF-t meg nem találjuk.
    • Írhatunk egy fájlba, miután létrehoztuk a nevét, az fprintf () függvény használatával, és rendelkeznie kell a newl ine karakter a karakterlánc végén.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük