Item | Value |
Header | #include |
Declaration | FILE *fopen(const char *fname, const char *mode); |
Function | opens a file by *fname |
Return | returns a FILE pointer on success or NULL pointer on failure |
The legal values for mode.
Mode | Meaning |
"r" | Open text file for reading |
"w" | Create a text file for writing |
"a" | Append to text file |
"rb" | Open binary file for reading |
"wb" | Create binary file for writing |
"ab" | Append to a binary file |
"r+" | Open text file for read/write |
"w+" | Create text file for read/write |
"a+" | Open text file for read/write |
"rb+" or "r+b" | Open binary file for read/write |
"wb+" or "w+b" | Create binary file for read/write |
"ab+" or "a+b" | Open binary file for read/write |
The correct method of opening a file:
#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { FILE *fp; if ((fp = fopen("test", "w"))==NULL) { printf("Cannot open file.\n"); exit(1); } fclose(fp); }
This fragment opens a file called TEST for binary read/write operations:
#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { FILE *fp; if((fp=fopen("test", "rb+"))==NULL) { printf("Cannot open file.\n"); exit(1); } fclose(fp); }
22.9.fopen | ||||
22.9.1. | fopen |