w3resource

C Exercises: Copy a file in another name


11. Copy File to Another Name

Write a program in C to copy a file to another name.

Assume that the content of the file test.txt is :                                                                       
test line 1                                                                                                   
test line 2                                                                                                   
test line 3                                                                                                   
test line 4                                                                                                   

Sample Solution:

C Code:

#include <stdio.h>
#include <stdlib.h>

void main()
{
	FILE *fptr1, *fptr2;
	char ch, fname1[20], fname2[20];

	printf("\n\n Copy a file in another name :\n");
	printf("----------------------------------\n"); 

	printf(" Input the source file name : ");
	scanf("%s",fname1);

	fptr1=fopen(fname1, "r");
	if(fptr1==NULL)
	{
		printf(" File does not found or error in opening.!!");
		exit(1);
	}
	printf(" Input the new file name : ");
	scanf("%s",fname2);
	fptr2=fopen(fname2, "w");
	if(fptr2==NULL)
	{
		printf(" File does not found or error in opening.!!");
		fclose(fptr1);
		exit(2);
	}
	while(1)
	{
		ch=fgetc(fptr1);
		if(ch==EOF)
		{
			break;
		}
		else
		{
			fputc(ch, fptr2);
		}
	}
	printf(" The file %s  copied successfully in the file %s. \n\n",fname1,fname2);
	fclose(fptr1);
	fclose(fptr2);
	getchar();
}

Sample Output:

 Copy a file in another name :                                                                                
----------------------------------                                                                            
 Input the source file name : test.txt                                                                        
 Input the new file name : test1.txt                                                                          
 The file test.txt  copied successfully in the file test1.txt.

Flowchart:

Flowchart: Copy a file in another name

For more Practice: Solve these Related Problems:

  • Write a C program to copy a binary file to a new file and verify the copy by comparing file sizes.
  • Write a C program to copy a file and replace every instance of a specific word during the copy.
  • Write a C program to implement a file copy function that reports the progress of the copying process.
  • Write a C program to copy a file and create a backup file with a timestamp appended to the name.

Go to:


PREV : Append Multiple Lines to File.
NEXT : Merge Two Files.

C Programming Code Editor:



Have another way to solve this solution? Contribute your code (and comments) through Disqus.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.