C program to create a file and write data into file
C Programming Language File Input/Output (Article) File Input/Output (Program)
129
How to create a file in C?
C programming provides built-in support to create, read, write and append data to file. To perform any operation on file we use a built-in FILE
structure. You need to create pointer to FILE
type. The pointer to FILE
type will hold a logical reference to our physically existed file on disk (hard disk).
In this post I will only explain how to create a file and write data into file. Step by step descriptive logic to create a file and write data into file.
- Declare a
FILE
type pointer variable to store reference of file, sayFILE * fPtr = NULL;
. - Create or open file using
fopen()
function.fopen()
function is used to open a file in different mode. You can open a file in basic three different moder
(read),w
(write) anda
(append) mode. We will usew
file mode to create a file.fopen("file-name", "read-mode");
function accepts two parameter first file name to read/create/write/append data, next is file open mode. On success it return pointer toFILE
type otherwiseNULL
pointer. - Input data from user to write into file, store it to some variable say data.
- C provides several functions to perform IO operation on file. For this post to make things simple I will use
fputs()
function to write data to file.fputs("content-to-write", stream)
function accepts two parameters. First string data to write into file, next pointer toFILE
type that specifies where to write data.Use
fputs()
function to write data to fPtr i.e. performfputs(data, fPtr);
. - Finally after completing all operations you must close file, to save data written on file. Use
fclose(fPtr)
function to close file.
I have restricted context of this post to create a file and store data into file. Hence there will be no output on console. Alternatively, you can view file contents by opening the newly created file in your favourite text editor.
Program:
/** * C program to create a file and write data into file. */ #include #include #define DATA_SIZE 1000 int main() { /* Variable to store user content */ char data[DATA_SIZE]; /* File pointer to hold reference to our file */ FILE * fPtr; /* * Open file in w (write) mode. * "data/file1.txt" is complete path to create file */ fPtr = fopen("data/file1.txt", "w"); /* fopen() return NULL if last operation was unsuccessful */ if(fPtr == NULL) { /* File not created hence exit */ printf("Unable to create file.\n"); exit(EXIT_FAILURE); } /* Input contents from user to store in file */ printf("Enter contents to store in file : \n"); fgets(data, DATA_SIZE, stdin); /* Write data to file */ fputs(data, fPtr); /* Close file to save file data */ fclose(fPtr); /* Success message */ printf("File created and saved successfully. :) \n"); return 0; }
Output:
Enter contents to store in file : Hurray!!! I learned to create file in C programming. I also learned to write contents to file. Next, I will learn to read contents from file on Codeforwin. Happy coding ;) File created and saved successfully. :)
Explanation:
This Particular section is dedicated to Programs only. If you want learn more about C Programming Language. Then you can visit below links to get more depth on this subject.