logo

Funkce C fopen() s příklady

The metoda fopen(). v C je funkce knihovny, která se používá k otevření souboru za účelem provádění různých operací, které zahrnují čtení, zápis atd. spolu s různými režimy. Pokud soubor existuje, funkce fopen() otevře konkrétní soubor, jinak se vytvoří nový soubor.

Syntax

Syntaxe C fopen() je:



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

Parametry

Metoda přijímá dva parametry typu znakového ukazatele:

filmy 123 až
  • název souboru: Jedná se o typ řetězce C a přijímá název souboru, který je třeba otevřít.
  • režim_provozu: Toto je také typu řetězce C a odkazuje na režim přístupu k souboru.

Níže uvedená tabulka uvádí platné hodnoty mode_of_operation v C s jejich významem:

Režimy otevírání



Popis

r

Vyhledá soubor. Otevře soubor pouze pro čtení . Pokud je soubor úspěšně otevřen, fopen() jej načte do paměti a nastaví ukazatel, který ukazuje na první znak v něm. Pokud soubor nelze otevřít, fopen() vrátí NULL.



v

Vyhledá soubor. Pokud soubor již existuje, jeho obsah se přepíše. Pokud soubor neexistuje, vytvoří se nový soubor. Pokud nelze soubor otevřít, vrátí hodnotu NULL. Vytvoří nový soubor pouze pro zápis (žádné čtení).

A

Vyhledá soubor. Pokud je soubor úspěšně otevřen, fopen() jej načte do paměti a nastaví ukazatel, který ukazuje na poslední znak v něm. Pokud soubor neexistuje, vytvoří se nový soubor. Pokud nelze soubor otevřít, vrátí hodnotu NULL. Soubor je otevřen pouze pro připojení (zápis na konec souboru).

r+

Vyhledá soubor. Otevře soubor pro čtení i zápis . Pokud se otevře úspěšně, fopen() jej načte do paměti a nastaví ukazatel, který ukazuje na první znak v něm. Pokud nelze soubor otevřít, vrátí hodnotu NULL.

w+

Vyhledá soubor. Pokud soubor existuje, jeho obsah se přepíše. Pokud soubor neexistuje, vytvoří se nový soubor. Pokud nelze soubor otevřít, vrátí hodnotu NULL. Rozdíl mezi w a w+ je v tom, že můžeme číst i soubor vytvořený pomocí w+.

a+

Vyhledá soubor. Pokud je soubor úspěšně otevřen, fopen() jej načte do paměti a nastaví ukazatel, který ukazuje na poslední znak v něm. Pokud soubor neexistuje, vytvoří se nový soubor. Pokud nelze soubor otevřít, vrátí hodnotu NULL. Soubor se otevře pro čtení a připojení (zápis na konec souboru).

rb

Otevři binární soubor v režimu čtení. Pokud soubor neexistuje, funkce open() vrátí hodnotu NULL.

java regex $

wb

Otevři binární soubor v režimu zápisu. Protože je ukazatel nastaven na začátek souboru, obsah je přepsán. Pokud soubor neexistuje, a je vytvořen nový soubor.

ab

Otevři binární soubor v režimu připojení. Ukazatel souboru je nastaven za posledním znakem v souboru . A je vytvořen nový soubor pokud žádný soubor s názvem neexistuje.

rb+

Otevři binární soubor v režimu čtení a zápisu. Pokud soubor neexistuje, funkce open() vrátí hodnotu NULL.

wb+

Otevři binární soubor v režimu čtení a zápisu. Pokud soubor existuje, obsah se přepíše. Pokud soubor neexistuje, bude vytvořen.

ab+

Otevři binární soubor v režimu čtení a přidávání. Pokud soubor neexistuje, vytvoří se soubor.

Návratová hodnota

  • Funkce se používá k vrácení ukazatele na FILE, pokud je provedení úspěšné, jinak je vrácena hodnota NULL.

Příklad 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;> }>

>

>

Při spuštění následujícího příkazu se vytvoří nový soubor podle názvu demo_file.txt s následujícím obsahem:

Welcome to techcodeview.com>

Nyní, pokud se chceme podívat do souboru, musíme spustit následující kód, který soubor otevře a zobrazí jeho obsah.

C

css seznamy




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

>

>

Výstup

Welcome to techcodeview.com>

Další články o práci se soubory v C:

  1. Základy práce se soubory v C
  2. fopen() pro existující soubor v režimu zápisu
  3. EOF, getc() a feof() v C
  4. Režimy otevírání souborů (r versus r+)