交换文件第一个文件写入第二个文件,保留第二个文件的内容写回第一个文件

C语言读取不完整?交换文件第一个文件写入第二个文件,保留第二个文件的内容写回第一个文件,怎么操作,C语言

说句题外话,语言组织能力实在差强人意,很难静下心来回答。请把语言组织的有条理一点,清晰一些。

用一个临时文件作交换,交换完后删除临时文件,供参考:

#include <stdio.h>
void file_copy(char *file1, char *file2) // 将文件 file1 内容拷贝到文件 file2
{
    FILE *pf1 ;
    FILE *pf2 ;
    char ch ;

    pf1 = fopen(file1,  "rt");
    if (!pf1){
        printf("file open fail!\n");
        return;
    }
    pf2 = fopen(file2,"wt");
    while(1)
    {
        ch = fgetc(pf1);
        if(feof(pf1))
            break;    //跳出while(1)循环体
        fputc(ch , pf2);
    }
    fclose(pf1);    //关闭文件"file1.c"
    fclose(pf2);    //关闭文件"file2.c"
}
int main()
{
    char file1[] = "student1.txt", file2[] = "student2.txt", tmp[] = "temp.txt";
    file_copy(file1, tmp);
    file_copy(file2, file1);
    file_copy(tmp, file2);
    remove(tmp);    // 删除临时文件
    return 0;
}