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í.
Funkce fopen
slouží k otevření souboru pro čtení nebo zápis.
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.).
#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;
}
Funkce fclose
slouží k zavření otevřeného souboru.
int fclose(FILE *soubor);
Soubor je ukazatel na otevřený soubor, který chcete uzavřít.
#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;
}
Funkce fread
slouží k čtení dat ze souboru.
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.
#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;
}
Funkce fwrite
slouží k zápisu dat do souboru.
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.
#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.