codescracker
c++

C++ Program to Write Date into a File



« Previous Program Next Program »

In this article, you will learn and get code to write some data entered by user into a file using a C++ program. In this article we've created two programs on the same topic. The first program is the simplest one to write data into a file. Whereas the second program is the modified version of first program.

To write some content in a file using C++ programming, you have ask from user to enter the name of file along with its extension say codescracker.txt or codescracker.html etc.

Now we must have to open the file in writing mode. Therefore if file doesn't exist, then the file automatically gets created inside the current directory.

The current directory, means the directory where you are saving your C++ source code. Because I'm saving my C++ source code in cpp programs folder. Here is the snapshot of the folder, before executing the program given below:

c++ write data into file

Write Content in a File

Now let's go through the program given below that shows how a file gets created and data entered by user at run-time gets written into the file. The program is created in a way that, user can write as much data as they wants, into the file:

#include<iostream>
#include<stdio.h>
#include<fstream>
#include<string.h>
using namespace std;
int main()
{
    char fname[20], str[200];
    fstream fp;
    cout<<"Enter the Name of File: ";
    gets(fname);
    fp.open(fname, fstream::out);
    if(!fp)
    {
        cout<<"\nError Occurred!";
        return 0;
    }
    cout<<"Enter the Data: ";
    gets(str);
    while(strlen(str)>0)
    {
        fp<<str;
        fp<<"\n";
        gets(str);
    }
    fp.close();
    cout<<endl;
    return 0;
}

This program was build and run under Code::Blocks IDE. Here is the initial output produced by this C++ program:

C++ program to write content to file

Now enter the name of file say codescracker.txt and press ENTER key as shown in the snapshot given below:

write data into file c++

Here is the snapshot of the folder cpp programs:

write to file c++

As you can see, the file codescracker.txt gets created. It is newly created file with empty content. Therefore its size is shown as 0KB. Let's put some content in it through the program given below. Now supply the following data:

Hello C++
I'm a File
My name is codescracker.txt

as shown in the snapshot given below:

c++ write content in file

After writing these three lines of data, press two times ENTER key to put these data into the file codescracker.txt. Here is the output shown after pressing ENTER key:

c++ write few lines in file

Here is the snapshot of current directory:

write content in file c++

As you can see that the size of the file gets increased. And here is the snapshot of opened file codescracker.txt file:

data written in file c++

Note - The open() function is used to open the file. It takes two arguments, the filename and its opening mode. The first argument (filename) is compulsory. We've opened the file in writing mode using fstream::out.

Note - Don't forgot to close the file using close() function.

The condition (of while loop) strlen(str)>0 checks whether the length of entered string by user is greater than 0 or not. If it greater than 0, means user has entered some data. Therefore condition evaluates to be true and content or data gets written inside the file, using fp<<str statement.

And a newline also gets written to the file. Then again we've received the string and checks whether its length is greater than 0 or not. In this way, data are getting received by user and gets written into the file continuously until user pressed ENTER key without entering anything.

Modified Version of Previous Program

This is the modified version of previous program. This program prints message for each step going inside the program:

#include<iostream>
#include<stdio.h>
#include<fstream>
#include<string.h>
using namespace std;
int main()
{
    char fname[20], str[200];
    fstream fp;
    cout<<"Enter the Name of File: ";
    gets(fname);
    fp.open(fname, fstream::in);
    if(!fp)
    {
        cout<<"\nFile Doesn't Exist!\n";
        cout<<"\nCreating the File...\n";
        fp.open(fname, fstream::out);
        if(!fp)
        {
            cout<<"\nError Occurred while Creating the File!";
            cout<<"\nExiting...";
            return 0;
        }
        else
            cout<<"\nFile Created Successfully!";
    }
    fp.close();
    fp.open(fname, fstream::out);
    if(!fp)
    {
        cout<<"\nError Occurred while Opening the File!";
        cout<<"\nExiting...";
        return 0;
    }
    cout<<"\nEnter the Data: ";
    gets(str);
    while(strlen(str)>0)
    {
        fp<<str;
        fp<<"\n";
        gets(str);
    }
    cout<<"\nData Written in File successfully!";
    fp.close();
    cout<<endl;
    return 0;
}

Here is the initial output produced by this C++ program:

c++ write content into file

Now enter the name of file say codescracker.html and press ENTER key. Here is the sample output after doing this:

c++ write data into text file

Now enter the following data:

<h1>About</h1>
<p>This article is created to write data into a File.</p>
<p>This is an <u>HTML</u> document.</p>
<p>The name of this file is <b>codescracker.html</b>.</p>

After supplying these inputs one by one, press double times ENTER key, here is the output you will see:

write data to html file c++

If you see the folder, cpp programs, then the file codescracker.html will be available there as shown in the snapshot given below:

c++ write to file folder

And if you open this file into a browser say in Google Chrome, then it looks like:

c++ write text data to file

But if you open the same file in a text editor like Notepad, then it looks like:

c++ write data to text file

Note - To learn about HTML, that how it works, then refer to its separate tutorial in HTML Tutorial article.

Same Program in Other Languages

C++ Online Test


« Previous Program Next Program »



© Copyright 2021. All Rights Reserved.

CodesCracker