Menu
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

C stdio fopen() Function

❮ C stdio Library


Example

Create a file:

FILE *fptr;

// Create a file
fptr = fopen("filename.txt", "w");

// Close the file
fclose(fptr);
Try it Yourself »

Definition and Usage

The fopen() function opens a file and returns a special FILE pointer which is used in other functions that read and write into files.

The fopen() function is defined in the <stdio.h> header file.


Syntax

fopen(const char * filename, const char * mode);

Parameter Values

Parameter Description
filename Required. A string containing the path to the file.
mode Required. A string describing how the file will be used. It can be one of the following

w - Open for writing only. Clears all of the content of the file. If the file does not exist it will be created.
a - Open for writing only. Only writes to the end of the file. If the file does not exist it will be created.
r - Open for reading only. If the file does not exist then a NULL pointer is returned.
w+ - Open for reading and writing. Clears all of the content of the file. If the file does not exist it will be created.
a+ - Open for reading and writing. Only writes to the end of the file. If the file does not exist it will be created.
r+ - Open for reading and writing. If the file does not exist then a NULL pointer is returned.

An additional character "b" can be added to treat the file as a binary file. For example, r+b.

Technical Details

Returns: A FILE pointer which can be used by other file handling functions.

❮ C stdio Library

×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.