Fopen (jazyk C): Rozdiel medzi revíziami

Z Kiwiki
Skočit na navigaci Skočit na vyhledávání
 
(12 medziľahlých úprav od 4 ďalších používateľov nie je zobrazených)
Riadok 1: Riadok 1:
 
{{Funkcie jazyka c}}
 
{{Funkcie jazyka c}}
 
__NOTOC__
 
__NOTOC__
==Funkcia system==
+
==Funkcia fopen==
 
<properties>
 
<properties>
 
knižnica=stdio.h  
 
knižnica=stdio.h  
Riadok 11: Riadok 11:
 
FILE *fopen(const char *filename, const char *mode)
 
FILE *fopen(const char *filename, const char *mode)
 
</source>
 
</source>
 +
 
==Podrobný popis funkcie==
 
==Podrobný popis funkcie==
Táto funkcia otvorí daný súbor u určitom režime.
+
Funkcia otvorí daný súbor u určitom režime.
  
 
==Parametre==
 
==Parametre==
Riadok 40: Riadok 41:
 
==Návratová hodnota==
 
==Návratová hodnota==
  
Táto funkcia vráti [[Jazyk C - smerník (pointer)|smerník]] na FILE, čiže na otvorený súbor. Ak sa však otváranie nepodarilo, tak vráti NULL.
+
Táto funkcia vráti [[Jazyk C - smerník (pointer)|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==
Príklad zobrazuje, ako otvoriť súbor na čítanie a zapisovanie. V príklade sú použité funkcie aj funkcie [[Fprintf (jazyk C)|fprintf]], [[Fgetc (jazyk C)|fgetc]] a [[Fclose (jazyk C)|fclose]]. Pred spustením príkladu si zmeňte umiestnenie súboru podľa seba.
+
Príklad zobrazuje, ako otvoriť súbor na čítanie a zapisovanie. V príklade sú použité aj funkcie [[Fprintf (jazyk C)|fprintf]], [[Getc (jazyk C)|getc]], [[Fclose (jazyk C)|fclose]] a [[Feof (jazyk C)|feof]].
 
<source lang="c" line>
 
<source lang="c" line>
 
#include <stdio.h>
 
#include <stdio.h>
Riadok 49: Riadok 50:
  
 
int main() {
 
int main() {
FILE * subor;
+
    FILE * subor;
 
+
 
subor = fopen("C:\\Users\\User\\Desktop\\test.txt", "w+"); //otvorenie súboru pre zapisovanie (sem zadajte vlastné umiestnenie súboru)
+
    subor = fopen("C:\\Users\\User\\Desktop\\test.txt", "w+"); //otvorenie súboru pre zapisovanie (sem zadajte vlastné umiestnenie súboru)
 
+
   
if (subor) { //overenie, či je súbor naozaj otvorený
+
    if (subor) {                                     //overenie, či je súbor naozaj otvorený
fprintf(subor, "Ahoj svet!"); //zapisovaniee do súboru
+
        fprintf(subor, "Ahoj svet!");                 //zapisovanie do súboru
printf("Text zapisany do suboru.\n");
+
        printf("Text zapisany do suboru.\n");
fclose(subor); //zatvorenie súboru
+
        fclose(subor);                               //zatvorenie súboru
}
+
    } else {
else {
+
        printf("Subor sa nepodarilo otvorit.\n");
printf("Subor sa nepodarilo otvorit.\n");
+
    }
}
+
   
 
+
    subor = fopen("C:\\Users\\User\\Desktop\\test.txt", "r"); //otvorenie súboru pre čítanie (sem zadajte vlastné umiestnenie súboru)
subor = fopen("C:\\Users\\User\\Desktop\\test.txt", "r"); //otvorenie súboru pre čítanie (sem zadajte vlastné umiestnenie súboru)
+
    if (subor) {                                     //overenie, či je súbor naozaj otvorený
 
+
        printf("Text zo suboru: ");
if (subor) { //overenie, či je súbor naozaj otvorený
+
        char c;
printf("Text zo suboru: ");
+
        while (!feof(subor)) {                       //opakuje, pokiaľ nenájde koniec súboru
char c;
+
            c = getc(subor);                         //načítanie jedného znaku zo súboru
while (!feof(subor)) { //opakuje, pokiaľ nenájde koniec súboru
+
            printf("%c", c);                         //vypísanie načítaného znaku na obrazovku
c = fgetc(subor); //načítanie jedného zanaku zo súboru
+
        }
printf("%c", c); //vypísanie načítaného znaku na obrazovku
+
        fclose(subor);                               //zatvorenie súboru
}
+
    }else{
fclose(subor); //zatvorenie súboru
+
        printf("Subor sa nepodarilo otvorit.\n");
}
+
    }
else {
+
    return 0;
printf("Subor sa nepodarilo otvorit.\n");
 
}
 
 
 
 
return(0);
 
 
}
 
}
 
</source>
 
</source>
  
Výstup:
+
''Výstup:''
 
  Text zapisany do suboru.
 
  Text zapisany do suboru.
 
  Text zo suboru: Ahoj svet! 
 
  Text zo suboru: Ahoj svet! 
  
==Zdroje==
+
==Referencie==

Aktuálna revízia z 23:18, 19. máj 2020

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   
 7     subor = fopen("C:\\Users\\User\\Desktop\\test.txt", "w+"); //otvorenie súboru pre zapisovanie (sem zadajte vlastné umiestnenie súboru)
 8     
 9     if (subor) {                                      //overenie, či je súbor naozaj otvorený
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     
17     subor = fopen("C:\\Users\\User\\Desktop\\test.txt", "r"); //otvorenie súboru pre čítanie (sem zadajte vlastné umiestnenie súboru)
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