C ++ funkcija „fopen“) atidaro nurodytą failą tam tikru režimu.
fopen () prototipas
FILE * fopen (const char * failo vardas, const char * režimas);
fopen()
Funkcija trunka du argumentus ir grąžina failo srautą, susijusį su šia argumentas failo nurodytą failą.
Tai apibrėžta antraštės faile.
Skirtingi failų prieigos režimo tipai yra šie:
Failų prieigos režimas | Interpretacija | Jei failas yra | Jei failo nėra |
---|---|---|---|
„r“ | Atidaro failą skaitymo režimu | Skaitykite nuo pat pradžių | Klaida |
„w“ | Atidaro failą rašymo režimu | Ištrinkite visą turinį | Sukurti naują failą |
„a“ | Atidaro failą pridėjimo režimu | Pradėkite rašyti nuo pabaigos | Sukurti naują failą |
„r +“ | Atidaro failą skaitymo ir rašymo režimu | Skaitykite nuo pat pradžių | Klaida |
„w +“ | Atidaro failą skaitymo ir rašymo režimu | Ištrinkite visą turinį | Sukurti naują failą |
„a +“ | Atidaro failą skaitymo ir rašymo režimu | Pradėkite rašyti nuo pabaigos | Sukurti naują failą |
fopen () parametrai
- failo vardas: eilutės, kurioje yra atidaromo failo pavadinimas, žymeklis.
- mode: eilutės, nurodančios režimą, kuriuo atidaromas failas, žymeklis.
fopen () Grąžinimo vertė
- Jei tai pavyks,
fopen()
funkcija grąžina žymeklį į objektą FILE, kuris valdo atidarytą failų srautą. - Sugedus, jis pateikia nulinį rodyklę.
1 pavyzdys: Failo atidarymas rašymo režimu naudojant „fopen“ ()
#include #include using namespace std; int main() ( int c; FILE *fp; fp = fopen("file.txt", "w"); char str(20) = "Hello World!"; if (fp) ( for(int i=0; i
When you run the program, it will not generate any output but will write "Hello World!" to the file "file.txt".
Example 2: Opening a file in read mode using fopen()
#include using namespace std; int main() ( int c; FILE *fp; fp = fopen("file.txt", "r"); if (fp) ( while ((c = getc(fp)) != EOF) putchar(c); fclose(fp); ) return 0; )
When you run the program, the output will be (Assuming the same file as in Example 1):
Hello World!
Example 3: Opening a file in append mode using fopen()
#include #include using namespace std; int main() ( int c; FILE *fp; fp = fopen("file.txt", "a"); char str(20) = "Hello Again."; if (fp) ( putc('',fp); for(int i=0; i
When you run the program, it will not generate any output but will append "Hello Again" in a newline to the file "file.txt".