Fopen (jazyk C)

Z Kiwiki
Skočit na navigaci Skočit na vyhledávání
Rozdelenie funkcií jazyka C podľa knižníc, v ktorých sú definované
<ctype.h> <limits.h> <stdio.h> <stdlib.h> <math.h> <string.h> <time.h>

isalnum
isalpha
isdigit
isgraph
islower
isprint
ispunct
isspace
isupper
isxdigit

printf
scanf
getc
putc
getchar
putchar
fprintf
fscanf
fgetc
fputc
fopen
fclose
feof

system
malloc
qsort
rand
srand
atoi
atol
atof
itoa
div
abs
labs

pow
fabs
exp
log
log10
sqrt
ceil
sin
cos

strlen
strcmp
strchr
strcpy
strstr
strcat
strncat

clock
time

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ý.

[1]

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! 

Referencie