C ++: n fopen () -toiminto avaa määritetyn tiedoston tietyssä tilassa.
fopen () prototyyppi
FILE * fopen (const char * tiedostonimi, const char * -tila);
fopen()
Toiminto kestää kaksi argumenttia ja palauttaa tiedoston virta liittyy tiedoston määritelty argumentti tiedostonimi.
Se määritetään otsikkotiedostossa.
Erilaiset tiedostojen käyttötilat ovat seuraavat:
Tiedostojen käyttötila | Tulkinta | Jos tiedosto on olemassa | Jos tiedostoa ei ole |
---|---|---|---|
"r" | Avaa tiedoston lukutilassa | Lue alusta alkaen | Virhe |
"w" | Avaa tiedoston kirjoitustilassa | Poista kaikki sisältö | Luo uusi tiedosto |
"a" | Avaa tiedoston liitetilassa | Aloita kirjoittaminen lopusta | Luo uusi tiedosto |
"r +" | Avaa tiedoston luku- ja kirjoitustilassa | Lue alusta alkaen | Virhe |
"w +" | Avaa tiedoston luku- ja kirjoitustilassa | Poista kaikki sisältö | Luo uusi tiedosto |
"a +" | Avaa tiedoston luku- ja kirjoitustilassa | Aloita kirjoittaminen lopusta | Luo uusi tiedosto |
fopen () -parametrit
- tiedostonimi: Osoittimen merkkijono, joka sisältää avattavan tiedoston nimen.
- mode: Osoitin merkkijonolle, joka määrittää tilan, jossa tiedosto avataan.
fopen () Palautusarvo
- Jos se onnistuu,
fopen()
funktio palauttaa osoittimen FILE-objektiin, joka ohjaa avattua tiedostovirtaa. - Epäonnistumisen yhteydessä se palauttaa nollaosoittimen.
Esimerkki 1: Tiedoston avaaminen kirjoitustilassa käyttämällä 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".