fopen() function in c: The function FILE *fopen(const char *filename, const char *mode); opens the file whose name is given in the filename argument and associate it with a stream and return a FILE pointer to be used in any future I/O operations on this stream. The fopen function opens a stream in a particular mode, which defines the operations that are allowed on the stream.
Various modes for opening a stream
Mode | Description |
---|---|
“r” | To read a file. Opens a file for reading. The file must exist. |
“w” | To write on a file. Creates an empty file for writing. If a file already exists with same name, its content is removed and the file is considered as a new empty file. |
“a” | To append data at the end of file. The file is created if it does not exist. |
“r+” | To read and write on an existing file. Opens a file to update both reading and writing. The file must exist. |
“w+” | To create a new file for reading and writing. |
“a+” | To read and append data on a file. |
Function prototype of fopen
FILE *fopen(const char *filename, const char *mode);
- filename : This is a null-terminated string containing the name of the file to be opened.
- mode : This is a null-terminated string containing a file access mode.
Return value of fopen
Fopen c: On success, this function returns a FILE pointer. Otherwise, NULL is returned and the global variable errno is set to indicate the error.
C program using fopen function
Fopen in c: The following program shows the use of fopen function to open a text file in read mode.
#include <stdio.h> int main(){ FILE *file; int ch; /* Open a file for reading */ file = fopen("textFile.txt","r"); if(file == NULL){ perror("Error: Unable to open a file"); } else { while(!feof(file)){ ch = fgetc(file); printf("%c", ch); } fclose(file); } return(0); }
Output
fopen C Standard library function