Funktsioon fopen () C ++ -s avab kindlas režiimis määratud faili.
fopen () prototüüp
FILE * fopen (const char * failinimi, const char * režiim);
fopen()
Funktsioon võtab kaks argumenti ja tagastab file stream seotud selle poolt määratud faili argument failinimi.
See on määratletud päisefailis.
Erinevat tüüpi failidele juurdepääsu režiimid on järgmised:
Failidele juurdepääsu režiim | Tõlgendamine | Kui fail on olemas | Kui faili pole olemas |
---|---|---|---|
"r" | Avab faili lugemisrežiimis | Loe algusest peale | Viga |
"w" | Avab faili kirjutamisrežiimis | Kustutage kogu sisu | Loo uus fail |
"a" | Avab faili liitmisrežiimis | Alustage kirjutamist lõpust | Loo uus fail |
"r +" | Avab faili lugemis- ja kirjutamisrežiimis | Loe algusest peale | Viga |
"w +" | Avab faili lugemis- ja kirjutamisrežiimis | Kustutage kogu sisu | Loo uus fail |
"a +" | Avab faili lugemis- ja kirjutamisrežiimis | Alustage kirjutamist lõpust | Loo uus fail |
fopen () parameetrid
- failinimi: kursori avatava faili nime sisaldavale stringile.
- mode: Stringi kursor, mis määrab faili avamise režiimi.
fopen () Tagastusväärtus
- Kui see õnnestub,
fopen()
tagastab funktsioon kursori objektile FILE, mis kontrollib avatud failivoogu. - Ebaõnnestumisel tagastab nullkursori.
Näide 1: faili avamine kirjutamisrežiimis, kasutades funktsiooni 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".