- C++ Programming Examples
- C++ Programming Examples
- C++: Hello World
- C++: Get Input
- C++: Print Integer
- C++: Add two numbers
- C++: Add, Sub, Multiply, Div
- C++: Add Digits
- C++: Find Average and Percentage
- C++: Find Arithmetic Mean
- C++: Sum of n Natural Numbers
- C++: Sum of n Numbers
- C++: Square's Area and Perimeter
- C++: Rectangle's Area and Perimeter
- C++: Triangle's Area and Perimeter
- C++: Area and Circumference
- C++: Find Simple Interest
- C++: Fahrenheit to Celsius
- C++: Celsius to Fahrenheit
- C++: Print Prime Numbers
- C++: Reverse a Number
- C++: Swap Two Numbers
- C++: Print Multiplication Table
- C++: Find Factorial of a Number
- C++: Find Factors of a Number
- C++: Find HCF and LCM
- C++: Create a Calculator
- C++: Count Digits in a Number
- C++: First and Last Digit Sum
- C++: Product of Number Digits
- C++: Sum of Squares of Digits
- C++: Interchange Digits of Number
- C++ if-else Programs
- C++: Check Even or Odd
- C++: Check Prime or Not
- C++: Check Alphabet or Not
- C++: Check Vowel or Not
- C++: Check Leap Year or Not
- C++: Check Reverse equals Original
- C++: Check Perfect Number
- C++: Check Palindrome or Not
- C++: Check Armstrong or Not
- C++: Divisibility Test
- C++: Find Labor Wage
- C++: Find Discounted Price
- C++: Find Shipping Charge
- C++: Find Telephone Bills
- C++: Calculate Student Grade
- C++: Largest of Two Numbers
- C++: Largest of Three Numbers
- C++ Number Conversion
- C++: Decimal to Binary
- C++: Decimal to Octal
- C++: Decimal to Hexadecimal
- C++: Binary to Decimal
- C++: Binary to Octal
- C++: Binary to Hexadecimal
- C++: Octal to Decimal
- C++: Octal to Binary
- C++: Octal to Hexadecimal
- C++: Hexadecimal to Decimal
- C++: Hexadecimal to Binary
- C++: Hexadecimal to Octal
- C++ Pattern Programs
- C++: Pattern Programs
- C++: Print Diamond Pattern
- C++: Print Floyd's Triangle
- C++: Print Pascal's Triangle
- C++ Array Programs
- C++: 1D Array Program
- C++: Linear Search
- C++: Binary Search
- C++: Largest Element in an Array
- C++: Smallest Element in an Array
- C++: Find Second Largest Element
- C++: Find Second Smallest Element
- C++: Sum of All Elements
- C++: Multiply All Elements
- C++: Element in Even Position
- C++: Element in Odd Position
- C++: Print Even Numbers in Array
- C++: Print Odd Numbers in Array
- C++: Count Even or Odd Numbers
- C++: Sum of Even or Odd Numbers
- C++: Count Positive, Negative, Zero
- C++: Reverse an Array
- C++: Insert an Element
- C++: Delete an Element
- C++: Merge two Arrays
- C++: Bubble Sort
- C++: Selection Sort
- C++: Insertion Sort
- C++: Common Elements
- C++: 2D Array Programs
- C++: Add Two Matrices
- C++: Subtract Two Matrices
- C++: Transpose Matrix
- C++: Multiply Two Matrices
- C++: 3D Array Programs
- C++ String Programs
- C++: Print String
- C++: Find String Length
- C++: Compare Two Strings
- C++: Copy String
- C++: String Concatenation
- C++: Reverse a String
- C++: Delete Vowels from a String
- C++: Delete a Word from a String
- C++: Count Characters in a String
- C++: Count Words in a String
- C++: Frequency of Words
- C++: Remove Spaces from Strings
- C++: Sort a String
- C++: Uppercase to Lowercase
- C++: Lowercase to Uppercase
- C++: Swap Two Strings
- C++: Check the Anagram or Not
- C++: Capitalize All Words in a String
- C++: Get Numbers from a String
- C++ File Programs
- C++: Read a File
- C++: Write Content to a File
- C++: Append Data to a File
- C++: Read and Display File
- C++: Copy a File
- C++: Merge Two Files
- Count Characters in a File
- C++: Capitalize Every Word
- C++: List Files in Directory
- C++: Delete a File
- C++: Encrypt and Decrypt a File
- C++ Misc Programs
- C++: Print ASCII Value
- C++: Add Binary Numbers
- C++: Generate Random Numbers
- C++: Print a Smiling Face
- C++: Days into Years and Months
- C++: Add Two Numbers using Pointer
- C++: Print Fibonacci Series
- C++: Generate Armstrong Numbers
- C++: Find nCr and nPr
- C++: Get IP Address
- C++: Print Date and Time
- C++: Shutdown and Restart Computer
- C++ Programming Tutorial
- C++ Tutorial
C++ Program to Copy a File
In this article, you will learn how to copy the content of one file to another in C++ and get code for doing so. That is, the content of the source file, say, codes.txt, gets copied into the target file, say, cracker.txt.
But before going through the program, we must create these two files inside the current directory.
Things to do before the 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:
- Create two files inside the directory where you're saving your program or going to save your C++ program or copy file (given below).
- 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 choose the second option, Then it creates two files inside the directory "cpp programs" in the Documents folder on C-Drive. Here is a screenshot of the "cpp programs" folder, which contains two newly created files named codes.txt and cracker.txt:
Note: You can also give yourself names, such as a folder, file, or program.
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 a snapshot of the opened file codes.txt:
Leave the second file (the target file), cracker.txt, blank (without any content inside it). Because the program given below copies the content of the codes.txt file to the cracker.txt file,
Please keep in mind that the program only works with the current directory. That is, if you enter the name of the source and target files, the program searches the files inside the current directory only. The current directory is the folder where the program is saved.
Copy the Content of One File to Another in C++
To copy the content of one file to another in C++ programming, you have to ask the user to enter the name of the source file (with extension) and the target file (with extension). Now process the copy file operation as shown in the program gate below. Let's have a look at the program first; its explanation will be 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 built and runs under the Code::Blocks IDE. Before going to its sample run, first save this program or its source code to the folder where both files were created earlier. That is, in the Documents folder's cpp programs folder.
Note: To save this source code, navigate to File→Save file as... and enter the name of the
source code, say codescracker.cpp. Now press the ENTER
key. The program gets saved in the same
folder where the two files were created. Here is a snapshot of the folder after saving the above program:
Now let's move on to its sample run. This is the first snapshot of its initial output:
Now enter the name of the source file as codes.txt and then enter the name of the target file as cracker.txt
and press the ENTER
key to copy the content of the source file to the target file. Here is the output you will see
after doing all these things:
Now the content of the codes.txt file gets copied to the cracker.txt file. Here is a snapshot of the folder cpp programs after executing the above program:
Now, if you open the file cracker.txt, it contains the same content as of the codes.txt file. Here is a snapshot of the opened cracker.txt file:
The function fopen() opens a file. It receives two arguments. The first argument is the name of the file, and the second is its mode of opening.
The r is used to open the file in reading mode only, whereas the w is used to open the file in writing mode.
The function fopen() returns a pointer to FILE on successful opening; otherwise it returns NULL.
The function fgetc() is used to read the content of a file using its pointer in a 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 contain the source file's content.
If you want to read the content of a target file and display it on the output, you can refer to the read and display file program.
The same program in different languages
« Previous Program Next Program »