C语言:已知有a.txt和b.txt两个数据文件,请将b文件的数据合并到a文件
4个回答
展开全部
以追加的方式打开文件a.txt,即fopen("a.txt", "a");
以只读方式打开文件b.txt,即fopen("b.txt", "r");
每次从b中读取一定长度的数据,并写入到文件a中,(例如1024字节)
直到将b中所述数据读完并写到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);
}
展开全部
#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);
}
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);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把b文件拷贝到a文件后不可以吗?
追问
那main函数该如何编写~~~
追答
大体思路应该是这样的
如果有对文件操作的 API就直接使用该API
如果没有就打开B文件,把该文件的所有字符都读入缓冲区
然后从缓冲区在写到A文件里就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询