Fopen (jazyk C)
Skočit na navigaci
Skočit na vyhledávání
<ctype.h> | <limits.h> | <stdio.h> | <stdlib.h> | <math.h> | <string.h> | <time.h> |
---|---|---|---|---|---|---|
isalnum |
printf |
system |
Funkcia fopen
knižnica | stdio.h |
popis | Otvorí daný súbor |
Úplný funkčný prototyp:
FILE *fopen(const char *filename, const char *mode)
Podrobný popis funkcie
Funkcia otvorí daný súbor u určitom režime.
Parametre
- filename
- Umiestnenie súboru vrátane názvu súboru aj s príponou.
- mode
- Režim otvorenia súboru. V tabuľke nižšie sú vypísané všetky dostupné režimy.
Režim | Popis |
---|---|
r | Otvorí súbor len pre čítanie. |
w | Otvorí súbor pre zapisovanie. Ak neexistuje, tak vytvorí nový súbor. V tomto režime sa začne zapisovať na začiatku súboru. |
a | Otvorí súbor pre zapisovanie s funkciou pripájania. Ak neexistuje, tak vytvorí nový súbor. V tomto režime sa začne pripájať text na koniec súboru. |
r+ | Otvorí súbor aj pre čítanie aj pre zapisovanie. |
w+ | Otvorí súbor aj pre čítanie aj pre zapisovanie. Ako prvé vymaže dáta zo súboru, ak existujú, inak vytvorí nový súbor. |
a+ | Otvorí súbor aj pre čítanie aj pre zapisovanie. Ak neexistuje, tak vytvorí nový súbor. Čítanie začne od začiatku, ale zapisovaný text môže byť len pripájaný. |
Ak chcete otvoriť binárne súbory, musíte použiť nasledovné režimy:
"rb", "wb", "ab", "rb+", "r+b", "wb+", "w+b", "ab+", "a+b"
Návratová hodnota
Táto funkcia vráti smerník na FILE, čiže na otvorený súbor. Ak sa však otváranie nepodarilo, tak vráti NULL.
Príklad
Príklad zobrazuje, ako otvoriť súbor na čítanie a zapisovanie. V príklade sú použité aj funkcie fprintf, getc, fclose a feof.
1 #include <stdio.h>
2 #include <stdlib.h>
3
4 int main() {
5 FILE * subor;
6 //otvorenie súboru pre zapisovanie (sem zadajte vlastné umiestnenie súboru)
7 subor = fopen("C:\\Users\\User\\Desktop\\test.txt", "w+");
8 //overenie, či je súbor naozaj otvorený
9 if (subor) {
10 fprintf(subor, "Ahoj svet!"); //zapisovanie do súboru
11 printf("Text zapisany do suboru.\n");
12 fclose(subor); //zatvorenie súboru
13 } else {
14 printf("Subor sa nepodarilo otvorit.\n");
15 }
16 //otvorenie súboru pre čítanie (sem zadajte vlastné umiestnenie súboru)
17 subor = fopen("C:\\Users\\User\\Desktop\\test.txt", "r");
18 if (subor) { //overenie, či je súbor naozaj otvorený
19 printf("Text zo suboru: ");
20 char c;
21 while (!feof(subor)) { //opakuje, pokiaľ nenájde koniec súboru
22 c = getc(subor); //načítanie jedného znaku zo súboru
23 printf("%c", c); //vypísanie načítaného znaku na obrazovku
24 }
25 fclose(subor); //zatvorenie súboru
26 }else{
27 printf("Subor sa nepodarilo otvorit.\n");
28 }
29 return(0);
30 }
Výstup:
Text zapisany do suboru. Text zo suboru: Ahoj svet!