请问C语言如何实现对两个TXT文件的合并

请问C语言如何实现对两个TXT文件的合并,第1张

#include <stdio.h>/*实现t1和t2的合并历宴,侍册将t2添加到t1的末老烂宏尾*/

main()

{FILE *f1,*f2

char ch

f1=fopen("c:\\t1.txt","r+")

f2=fopen("c:\\t2.txt","r")

fseek(f1,0L,2)

while(ch!=EOF)

{ch=fgetc(f2)

if(ch!=EOF)

fputc(ch,f1)

}

fclose(f1)

fclose(f2)

}

1、设A.txt和B.txt都在当前目录下,读打开A.txt和B.txt,写打开C.txt。按字符循环读取A.txt文件一行并逐字符写入C.txt文件,但当读到'\n'时不写入\n'而启动另一棚肢内循环陆和贺按字符早派读取B.txt文件的一行并逐字符写入C.txt文件,当写入'\n'后跳出内循环停止读取B.txt文件转而再去读A.txt文件的下一行……如此反复,直到遇到A.txt文件的EOF时结束。

2、代码如下:

//#include "stdafx.h"//If the vc++6.0, with this line.

#include "stdio.h"

#include "stdlib.h"

int main(void){

    FILE *fpa,*fpb,*fpc

    char ch

    fpa=fopen("A.txt","r")

    fpb=fopen("B.txt","r")

    fpc=fopen("C.txt","w")

    if(!fpa || !fpb || !fpc){

        printf("Open the file(s) failure...\n")

        exit(0)

    }

    while((ch=fgetc(fpa))!=EOF){

        if(ch=='\n')

            while(fputc(ch=fgetc(fpb),fpc),ch!='\n' && ch!=EOF)

        else fputc(ch,fpc)

    }

    fclose(fpc)

    fclose(fpb)

    fclose(fpa)

    return 0

}

FILE*fp1,*fp2

fp1=fopen(path1,"at+")//txt1 的路径 path1

fp2=fopen(path2,"at+")//祥颂旅txt2

fseek(fp2,0,SEEK_END)

int len2=ftell(fp2)//txt2文件长度

rewind(fp2)

char *buf2=new char [len2]//缓冲区

fread(buf2,1,len2,fp2)//读txt2数据到buf2

fwrite(buf2,1,len2,fp1)//将txt2加到txt1尾

fclose(fp1)

fclose(fp2)

delete [] buf2

//使谨凳樱姿用前保存txt1


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12559608.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-26
下一篇2025-08-26

发表评论

登录后才能评论

评论列表(0条)

    保存