C语言:已知有a.txt和b.txt两个数据文件,请将b文件的数据合并到a文件

如题所述

以追加的方式打开文件a.txt,即fopen("a.txt", "a");
以只读方式打开文件b.txt,即fopen("b.txt", "r");
每次从b中读取一定长度的数据,并写入到文件a中,(例如1024字节)
直到将b中所述数据读完并写到a中追问

main函数部分该如何写啊~~~~求助了。谢谢

追答

#include
void main() {
FILE *fp1, *fp2;
char buf[1024];
int len;
fp1 = fopen("a.txt", "a");
fp2 = fopen("b.txt", "r");
if ((fp1==NULL)||(fp2==NULL)){
printf("打开文件失败!\n");
return;
}
while (!feof(fp2)) {
len = fread(buf, 1, 1024, fp2);
fwrite(buf, 1, len, fp1);
}
fclose(fp2);
fclose(fp1);
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-27
#include <stdio.h>
void main() {
FILE *fp1, *fp2;
char buf[1024];
int length;
fp1 = fopen("a.txt", "w+");
fp2=fopen("b.txt", "r");
fseek(fp1, 0, SEEK_END);

while ((length=(fread(buf, 1024,1, fp2))<=1024) {
fwrite(buf, length, 1, fp1);
}
fclose(fp2);
fclose(fp1);
}
第2个回答  2012-12-27
把b文件拷贝到a文件后不可以吗?追问

那main函数该如何编写~~~

追答

大体思路应该是这样的

如果有对文件操作的 API就直接使用该API

如果没有就打开B文件,把该文件的所有字符都读入缓冲区

然后从缓冲区在写到A文件里就可以了。

第3个回答  2012-12-27
不会啊
相似回答