I / O souborů C: Vytváření, otevírání, čtení, zápis a zavírání souborů

C Správa souborů

Soubor lze použít k uložení velkého množství trvalých dat. Stejně jako mnoho jiných jazyků poskytuje „C“ následující funkce správy souborů,

  1. Vytvoření souboru
  2. Otevření souboru
  3. Čtení souboru
  4. Zápis do souboru
  5. Uzavření souboru

Následuje seznam nejdůležitějších funkcí správy souborů dostupných v „C“,

funkce účel
fopen () Vytvoření souboru nebo otevření existujícího souboru
fclose () Zavření souboru
fprintf () Zápis bloku dat do souboru
fscanf () Čtení blokovat data ze souboru
getc () načte jeden znak ze souboru
putc () Zapíše jeden znak do souboru
getw () Přečte celé číslo ze souboru
putw () Zápis celého čísla do souboru
fseek () Nastaví pozici ukazatele souboru na určené místo
ftell () Vrátí aktuální pozici ukazatel souboru
rewind () Nastaví ukazatel souboru na začátek souboru

V tomto výukovém programu se naučíte –

  • Jak vytvořit soubor
  • Jak zavřít soubor:
  • Zápis do souboru
    • Funkce fputc ():
    • Funkce fputs ():
    • fprintf () Funkce:
  • Čtení dat ze souboru
  • Interaktivní čtení a zápis souborů pomocí getc a putc

Jak vytvořit soubor

Kdykoli se souborem chcete pracovat, je prvním krokem jeho vytvoření. Soubor není nic jiného než prostor v paměti, kde jsou uložena data.

Chcete-li vytvořit soubor v programu „C“ pomocí následující syntaxe,

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

Ve výše uvedené syntaxi je soubor datová struktura, která je definována ve standardní knihovně.

fopen je standardní funkce, která se používá k otevření souboru.

  • Pokud soubor není v systému přítomen, je vytvořen a poté otevřen.
  • Pokud je soubor již v systému přítomen, je přímo otevřen pomocí této funkce.

fp je ukazatel souboru, který ukazuje na typový soubor.

Kdykoli otevřete nebo vytvoříte soubor, musíte určit, co se souborem uděláte. Soubor v programování „C“ lze vytvořit nebo otevřít pro účely čtení / zápisu. Režim se používá k určení, zda chcete otevřít soubor pro některý z níže uvedených účelů. Následují různé typy režimů v programování „C“, které lze použít při práci se souborem.

Režim souboru Popis
r Otevřít soubor ke čtení. Pokud je soubor v režimu čtení, nebudou odstraněna žádná data, pokud je soubor již v systému k dispozici.
w Otevřete soubor pro zápis. Pokud je soubor v režimu psaní, vytvoří se nový soubor, pokud vůbec neexistuje. Pokud je soubor již v systému přítomen, jsou všechna data uvnitř souboru zkrácena a je otevřen pro zápis účely.
a Otevření souboru v režimu přidání. Pokud je soubor v režimu přidání, pak se soubor otevře. Obsah v souboru se nemění.
r + otevřeno pro čtení a psaní od začátku
w + otevřené pro čtení a zápis, přepsání souboru
a + otevřené pro čtení a zápis, připojení k souboru

V dané syntaxi jsou název souboru a režim specifikovány jako řetězce, proto musí být vždy uzavřeny do uvozovek.

Příklad:

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

Výstup:

Soubor je vytvořen ve stejné složce, kam jste uložili kód. .

Můžete určit cestu, kde chcete vytvořit soubor

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

Jak zavřít soubor

Jeden by měl vždy zavřít soubor, kdykoli operace se souborem skončí. To znamená, že obsah a odkazy na soubor jsou ukončeny. Tím se zabrání náhodnému poškození pilníku.

„C“ poskytuje funkci fclose k provádění operace uzavření souboru. Syntaxe fclose je následující,

fclose (file_pointer);

Příklad:

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

Fclose funkce vezme ukazatel souboru jako argument. Soubor přidružený k ukazateli souboru se poté uzavře pomocí funkce fclose.Vrací 0, pokud bylo zavření úspěšné, a EOF (konec souboru), pokud při zavírání souboru došlo k chybě.

Po zavření souboru lze stejný ukazatel souboru použít také s jinými soubory.

V programování „C“ se soubory automaticky zavírají, když je program ukončen. Dobrým programovacím postupem je ruční zavření souboru napsáním funkce fclose.

Zápis do souboru

V jazyce C musí být při zápisu do souboru výslovně přidány znaky nového řádku „\ n“.

Knihovna stdio nabízí nezbytné funkce pro zápis do souboru:

  • fputc (char, file_pointer): Zapíše znak do souboru, na který odkazuje file_pointer.
  • fputs (str, file_pointer): Zapíše řetězec do souboru, na který ukazuje file_pointer.
  • fprintf (file_pointer, str, variable_lists): Vytiskne řetězec do souboru, na který ukazuje file_pointer. Řetězec může volitelně obsahovat specifikátory formátu a seznam proměnných variable_lists.

Níže uvedený program ukazuje, jak provádět zápis do souboru:

fputc () Funkce:

Výstup:

Výše uvedený program zapisuje jeden znak do souboru fputc_test.txt, dokud nedosáhne symbolu dalšího řádku „\ n“, což znamená, že věta byla úspěšně zapsána. Proces spočívá v převzetí každého znaku pole a jeho zapsání do souboru.

  1. Ve výše uvedeném programu jsme vytvořili a otevřeli soubor nazývá se fputc_test.txt v režimu zápisu a deklaruje náš řetězec, který bude zapsán do souboru.
  2. Provádíme operaci zápisu znak po znaku pomocí smyčky for a každý znak vložíme do našeho souboru, dokud „\ n „znak je zjištěn, pak je soubor uzavřen pomocí funkce fclose.

fputs () Funkce:

VÝSTUP:

  1. Ve výše uvedeném programu jsme vytvořili a otevřeli soubor s názvem fputs_test.txt v režimu zápisu.
  2. Poté, co provedeme operaci zápisu pomocí funkce fputs () napsáním tří různých řetězců
  3. Pak je soubor uzavřen pomocí funkce fclose.

fprintf () Funkce:

VÝSTUP:

  1. Ve výše uvedeném programu jsme vytvořili a otevřeli soubor s názvem fprintf_test.txt v režimu zápisu.
  2. Po provedení operace zápisu pomocí funkce fprintf () zápisem řetězce se soubor zavře pomocí funkce fclose.

Čtení dat ze souboru

Existují tři různé funkce vyhrazené pro čtení dat ze souboru.

  • fgetc (file_pointer): Vrací další znak ze souboru, na který ukazuje ukazatel souboru. Po dosažení konce souboru je EOF odeslán zpět.
  • fgets (buffer, n, file_pointer): Načte ze souboru n-1 znaků a uloží řetězec do vyrovnávací paměti, ve které je jako poslední znak připojen znak NULL „\ 0“.
  • fscanf (file_pointer, conversion_specifiers, variable_adresses): Používá se k analýze a analýze dat. Čte znaky ze souboru a pomocí specifikátorů převodu přiřadí vstup do seznamu ukazatelů proměnných variable_adresses. Pamatujte, že stejně jako v případě programu scanf, fscanf přestane číst řetězec, když narazí na mezeru nebo nový řádek.

Následující program ukazuje čtení ze souboru fputs_test.txt pomocí fgets (), fscanf () a Funkce fgetc ():

Výsledek:

  1. Ve výše uvedeném programu jsme otevřeli soubor s názvem „fprintf_test.txt“, který byl dříve napsán pomocí funkce fprintf () a obsahuje řetězec „Learning C with Guru99“. Přečetli jsme to pomocí funkce fgets (), která čte řádek po řádku, kde velikost vyrovnávací paměti musí stačit na to, aby zvládl celý řádek.
  2. Soubor znovu otevřeme, aby se soubor ukazatele resetoval tak, aby ukazoval na začátek soubor. Vytvořte různé proměnné řetězců pro zpracování každého slova samostatně. Vytisknutím proměnných zobrazíte jejich obsah. Fscanf () se používá hlavně k extrakci a analýze dat ze souboru.
  3. Znovu otevřete soubor a resetujte soubor ukazatele tak, aby ukazoval na začátek souboru. Načíst data a vytisknout je ze souboru po znaku pomocí funkce getc (), dokud nenarazíte na příkaz EOF
  4. Po provedení souboru operace čtení pomocí různých variant jsme soubor znovu uzavřeli pomocí funkce fclose.

Interaktivní čtení a zápis souborů pomocí getc a putc

Toto jsou nejjednodušší operace se soubory. Getc znamená get charakter a putc znamená put charakter. Tyto dvě funkce se používají ke zpracování pouze jednoho znaku najednou.

Následující program demonstruje funkce zpracování souborů v programování „C“:

Výstup:

  1. Ve výše uvedeném programu vytvořili a otevřeli soubor s názvem demo v režimu zápisu.
  2. Po provedení operace zápisu je soubor uzavřen pomocí funkce fclose.
  3. Znovu jsme otevřeli soubor který nyní obsahuje data v režimu čtení. Smyčka while se spustí, dokud nebude nalezen eof. Jakmile je nalezen konec souboru, operace bude ukončena a data budou zobrazena pomocí funkce printf.
  4. Po provedení operace operace čtení je soubor znovu uzavřen pomocí funkce fclose.

Souhrn

  • Soubor je prostor v paměti, kde jsou uložena data.
  • „C „programování poskytuje různé funkce pro práci se souborem.
  • Mechanismus manipulace se soubory se nazývá správa souborů.
  • Před provedením operací se souborem je nutné jej otevřít.
  • Soubor lze otevřít v režimu čtení, zápisu nebo připojení.
  • Funkce Getc a putc se používají ke čtení a zápisu jednoho znaku.
  • funkce fscanf () umožňuje číst a analyzovat data ze souboru
  • Můžeme číst (pomocí funkce getc) celý soubor smyčkováním tak, aby pokryl celý soubor, dokud nenastane EOF
  • Do souboru můžeme zapisovat po vytvoření jeho názvu pomocí funkce fprintf () a musí mít newl jiný znak na konci textu řetězce.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *