Tuesday, 20 September 2016

C Program to Copy Text From One File to Other File



#include<stdio.h>

void main()
{   
    /*
    File_1.txt is the file with content and,
    File_2.txt is the file in which content of File_1
    will be copied.
    */
    FILE *fp1, *fp2;
    char ch;
    int pos;
 
    if ((fp1 = fopen("File_1.txt","r")) == NULL)    
    {    
        printf("\nFile cannot be opened");
        return;
    }
    else     
    {
        printf("\nFile opened for copy...\n ");    
    }
    fp2 = fopen("File_2.txt", "w");  
    fseek(fp1, 0L, SEEK_END); // file pointer at end of file
    pos = ftell(fp1);
    fseek(fp1, 0L, SEEK_SET); // file pointer set at start
    while (pos--)
    {
        ch = fgetc(fp1);  // copying file character by character
        fputc(ch, fp2);
    }    
    fcloseall();    
}



Explanation:


1.  In this step trying open the file File_1.txt in read mode

    if ((fp1 = fopen("File_1.txt","r")) == NULL)    
    {    
        printf("\nFile cannot be opened");
        return;
    }

2.  Open the file File_2.txt in Write mode

fp2 = fopen("File_2.txt", "w");  

3.  Read Charecters from File_1.txt  (  ch= fgetc(fp1);  )  and at the same time it Write into File_2.txt  (   fputc(ch, fp2); ) 
    while (pos--)
    {
        ch = fgetc(fp1);  // copying file character by character
        fputc(ch, fp2);
    } 



2 comments: