Fopen (jazyk C): Rozdiel medzi revíziami
		
		
		
		
		
		
		Skočit na navigaci
		Skočit na vyhledávání
		
				
		
		
		
		
		
		
		
	
 (Vytvorená stránka „{{Funkcie jazyka c}} __NOTOC__ ==Funkcia system== <properties> knižnica=stdio.h  popis=Otvorí daný súbor </properties>  Úplný funkčný prototyp: <source lang="c">…“)  | 
				d (→Príklad)  | 
				||
| (13 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   | + | ==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==  | ||
| − | + | 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 [[  | + | 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é   | + | 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;  | |
| − | + | ||
| − | + |     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ý  | |
| − | + |         fprintf(subor, "Ahoj svet!");                 //zapisovanie do súboru  | |
| − | + |         printf("Text zapisany do suboru.\n");  | |
| − | + |         fclose(subor);                                //zatvorenie súboru  | |
| − | + |     } else {  | |
| − | + |         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)  | |
| − | + |     if (subor) {                                      //overenie, či je súbor naozaj otvorený  | |
| − | + |         printf("Text zo suboru: ");  | |
| − | + |         char c;  | |
| − | + |         while (!feof(subor)) {                        //opakuje, pokiaľ nenájde koniec súboru  | |
| − | + |             c = getc(subor);                          //načítanie jedného znaku zo súboru  | |
| − | + |             printf("%c", c);                          //vypísanie načítaného znaku na obrazovku  | |
| − | + |         }  | |
| − | + |         fclose(subor);                                //zatvorenie súboru  | |
| − | + |     }else{  | |
| − | + |         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!   | ||
| − | ==  | + | ==Referencie==  | 
Aktuálna revízia z 22:18, 19. máj 2020
| <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   
 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!