codescracker
c++

C++ Program to Copy a File



« Previous Program Next Program »

In this article, you will learn and get code on copy the content of one file to another in C++. That is, the content of source file say codes.txt gets copied into the target file say cracker.txt.

But before going through the program, we must have to create these two files inside the current directory.

Things to do Before Program

Create two files say codes.txt and cracker.txt inside the same directory where you're saving our C++ source code. That is, either:

  1. Create two files inside the directory where you're saving your program or going to save your C++ program of copy file (given below)
  2. Or save your C++ program (that copies the content of one file to another) in that folder where the two files codes.txt and cracker.txt are created

If you approach the second option. Then, first creates two files inside the directory named cpp programs of Documents folder available in C-Drive. Here is the snapshot of the folder cpp programs that contains newly created two files named codes.txt and cracker.txt:

copy file program folder c++

Note - You can give name with yourself also, like name of folder, file, program etc.

Here, let's suppose the file codes.txt is a source file. So put the following content inside this file:

Hello Programmer,
This is codescracker.com
Name of Article is:-
  Copy the content of one file to Another

Here is the snapshot of the opened file codes.txt:

copy content of one file to another c++

Leave the second file (target file), cracker.txt blank (without any content inside it). Because the program given below copies the content of codes.txt file to cracker.txt file.

Note - The program works one current directory. That is, if you enters the name of source and target file, the program searches the file inside the current directory only. The current directory means the folder where the program is saved.

Copy Content of One File to Another in C++

To copy the content of one file to another in C++ programming, you have to ask from user to enter the name of source file (with extension) and target file (with extension). Now process the copy file operation as shown in the program givel below. Let's have a look at the program first, its explanation is given, later on.

#include<iostream>
using namespace std;
int main()
{
    char ch, sourceFile[20], targetFile[20];
    FILE *fs, *ft;
    cout<<"Enter the Name of Source File: ";
    cin>>sourceFile;
    fs = fopen(sourceFile, "r");
    if(fs == NULL)
    {
        cout<<"\nError Occurred!";
        return 0;
    }
    cout<<"\nEnter the Name of Target File: ";
    cin>>targetFile;
    ft = fopen(targetFile, "w");
    if(ft == NULL)
    {
        cout<<"\nError Occurred!";
        return 0;
    }
    ch = fgetc(fs);
    while(ch != EOF)
    {
        fputc(ch, ft);
        ch = fgetc(fs);
    }
    cout<<"\nFile copied successfully.";
    fclose(fs);
    fclose(ft);
    cout<<endl;
    return 0;
}

This program was build and run under Code::Blocks IDE. Before going to its sample run, first save this program or source code to the folder where both the files was created earlier. That is, in the folder cpp programs of Documents folder.

Note - To save this source code, navigate to File→Save file as... and enter the name of source code say codescracker.cpp. Now press ENTER key. The program gets saved in the same folder where the two files was created. Here is the snapshot of the folder after saving above program:

copy file c++

Now let's move on to its sample run. This is the first snapshot of its initial output:

c++ program copy file

Now enter the name of source file as codes.txt and then enter the name of target file as cracker.txt and press ENTER key to copy the content of source file to target file. Here is the output you will see after doing all these things:

c++ copy file

Now the content of codes.txt file gets copied to cracker.txt file. Here is the snapshot of the folder cpp programs after executing the above program:

copy file content c++

Now if you open the file cracker.txt, it contains the same content as of codes.txt file. Here is the snapshot of opened cracker.txt file:

copy file content in c++

The function, fopen() opens a file. It receives two arguments. The first argument is the name of file, and the second is its opening mode.

The r is used to open the file in reading mode only, whereas w is used to open the file in writing mode.

The function, fopen() returns a pointer to FILE on successful opening, otherwise returns NULL.

The function, fgetc() is used to read the content of a file using its pointer in character-by-character manner.

The EOF indicates End-Of-File. And the function, fclose() is used to close the pointer to FILE

After running the above C++ program, your target file will now contains the source file's content

If you want to read the content of target file and display it on output, you can refer to read and display file program.

Same Program in Other Languages

C++ Online Test


« Previous Program Next Program »



© Copyright 2021. All Rights Reserved.

CodesCracker