
- The C Standard Library
- C Library - Home
- C Library - <assert.h>
- C Library - <ctype.h>
- C Library - <errno.h>
- C Library - <float.h>
- C Library - <limits.h>
- C Library - <locale.h>
- C Library - <math.h>
- C Library - <setjmp.h>
- C Library - <signal.h>
- C Library - <stdarg.h>
- C Library - <stddef.h>
- C Library - <stdio.h>
- C Library - <stdlib.h>
- C Library - <string.h>
- C Library - <time.h>
- C Standard Library Resources
- C Library - Quick Guide
- C Library - Useful Resources
- C Library - Discussion
- C Programming Resources
- C Programming - Tutorial
- C - Useful Resources
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
C library function - fopen()
Description
The C library function FILE *fopen(const char *filename, const char *mode) opens the filename pointed to, by filename using the given mode.
Declaration
Following is the declaration for fopen() function.
FILE *fopen(const char *filename, const char *mode)
Parameters
filename − This is the C string containing the name of the file to be opened.
mode − This is the C string containing a file access mode. It includes −
Sr.No. | Mode & Description |
---|---|
1 |
"r" Opens a file for reading. The file must exist. |
2 |
"w" Creates an empty file for writing. If a file with the same name already exists, its content is erased and the file is considered as a new empty file. |
3 |
"a" Appends to a file. Writing operations, append data at the end of the file. The file is created if it does not exist. |
4 |
"r+" Opens a file to update both reading and writing. The file must exist. |
5 |
"w+" Creates an empty file for both reading and writing. |
6 |
"a+" Opens a file for reading and appending. |
Return Value
This function returns a FILE pointer. Otherwise, NULL is returned and the global variable errno is set to indicate the error.
Example
The following example shows the usage of fopen() function.
#include <stdio.h> #include <stdlib.h> int main () { FILE * fp; fp = fopen ("file.txt", "w+"); fprintf(fp, "%s %s %s %d", "We", "are", "in", 2012); fclose(fp); return(0); }
Let us compile and run the above program that will create a file file.txt with the following content −
We are in 2012
Now let us see the content of the above file using the following program −
#include <stdio.h> int main () { FILE *fp; int c; fp = fopen("file.txt","r"); while(1) { c = fgetc(fp); if( feof(fp) ) { break ; } printf("%c", c); } fclose(fp); return(0); }
Let us compile and run the above program to produce the following result −
We are in 2012