Studijní materiály
EXTRA Kontakt

Práce soubory v jazyce C

V jazyce C můžete pracovat se soubory pomocí funkcí fopen, fclose, fread a fwrite. Tyto funkce umožňují otevírat, zavírat, číst a zapisovat do souborů. V tomto výkladu se podrobně podíváme na syntaxi a použití těchto funkcí a poskytneme konkrétní příklady jejich použití.

Otevření souboru - funkce fopen

Funkce fopen slouží k otevření souboru pro čtení nebo zápis.

Syntaxe funkce fopen:

FILE *fopen(const char *název_souboru, const char *režim);
      

Název souboru je cesta k souboru a režim určuje, jak bude soubor otevřen (čtení, zápis, apod.).

Příklad použití funkce fopen:

#include <stdio.h>
      
      int main() {
          FILE *soubor;
          soubor = fopen("soubor.txt", "r");
          if (soubor == NULL) {
              printf("Chyba pri otevirani souboru.");
              return 1;
          }
          fclose(soubor);
          return 0;
      }
      

Zavření souboru - funkce fclose

Funkce fclose slouží k zavření otevřeného souboru.

Syntaxe funkce fclose:

int fclose(FILE *soubor);
      

Soubor je ukazatel na otevřený soubor, který chcete uzavřít.

Příklad použití funkce fclose:

#include <stdio.h>
      
      int main() {
          FILE *soubor;
          soubor = fopen("soubor.txt", "r");
          if (soubor == NULL) {
              printf("Chyba pri otevirani souboru.");
              return 1;
          }
          fclose(soubor);
          return 0;
      }
      

Čtení ze souboru - funkce fread

Funkce fread slouží k čtení dat ze souboru.

Syntaxe funkce fread:

size_t fread(void *buffer, size_t velikost_prvku, size_t pocet_prvku, FILE *soubor);
      

Buffer je ukazatel na paměťovou oblast, do které se budou načítat data. Velikost_prvku určuje velikost jednoho prvku v bajtech. Pocet_prvku určuje počet prvků, které chcete načíst. Soubor je ukazatel na otevřený soubor, ze kterého chcete číst.

Příklad použití funkce fread:

#include <stdio.h>
      
      int main() {
          FILE *soubor;
          char buffer[255];
          soubor = fopen("soubor.txt", "r");
          if (soubor == NULL) {
              printf("Chyba pri otevirani souboru.");
              return 1;
          }
          fread(buffer, sizeof(char), 255, soubor);
          fclose(soubor);
          return 0;
      }
      

Zápis do souboru - funkce fwrite

Funkce fwrite slouží k zápisu dat do souboru.

Syntaxe funkce fwrite:

size_t fwrite(const void *buffer, size_t velikost_prvku, size_t pocet_prvku, FILE *soubor);
      

Buffer je ukazatel na paměťovou oblast, která obsahuje data k zápisu. Velikost_prvku určuje velikost jednoho prvku v bajtech. Pocet_prvku určuje počet prvků, které chcete zapsat. Soubor je ukazatel na otevřený soubor, do kterého chcete zapisovat.

Příklad použití funkce fwrite:

#include <stdio.h>
      
      int main() {
          FILE *soubor;
          char buffer[255] = "Toto je testovaci text.";
          soubor = fopen("soubor.txt", "w");
          if (soubor == NULL) {
              printf("Chyba pri otevirani souboru.");
              return 1;
          }
          fwrite(buffer, sizeof(char), strlen(buffer), soubor);
          fclose(soubor);
          return 0;
      }
      

Práce se soubory je důležitou součástí programování v jazyce C a umožňuje efektivní manipulaci se vstupy a výstupy.