当前位置:编程学习 > C/C++ >>

C语言:将磁盘文件A和B中各保存一段字符,要求将两个信息合并输出到新文件C中去。

#include<stdio.h> #include<stdlib.h> void main() { FILE *fp1,*fp2,*fp3; char content1[10],content2[10],content3[100],ch; int i1,i2,i3; if((fp1=fopen("A","w"))==NULL) {printf("cannot open fileA\n"); exit(0); } printf("fileA:\n"); gets(content1); for(i1=0;content1[i1]!='!';i1++) fputc(content1[i1],fp1); fclose(fp1); if((fp2=fopen("B","w"))==NULL) {printf("cannot open fileB\n"); exit(0); } printf("fileB:\n"); gets(content2); for(i2=0;content2[i2]!='!';i2++) fputc(content2[i2],fp2); fclose(fp2); if((fp3=fopen("C","w"))==NULL) {printf("cannot open fileC\n"); exit(0); } fp1=fopen("A","r"); while(!feof(fp1))fputc(fgetc(fp1),fp3); fclose(fp1); fclose(fp3); fp3=fopen("C","a"); fp2=fopen("B","r"); while(!feof(fp2))fputc(fgetc(fp2),fp3); fclose(fp2); fclose(fp3); printf("fileC:\n"); fp3=fopen("C","r"); for(i3=0;(ch=fgetc(fp3))!=EOF;i3++) { content3[i3]=ch; putchar(content3[i3]); } printf("\n"); fclose(fp3); } 编译通过了,运行时只显示了A中的信息,大虾帮帮忙啊,我用的是追加方式复制B文件啊,为甚么显示不出来呢。
答案:你重新打开的文件,文件指针在开头,你一追加的方式打开,要是想把文件2的内容追加到文件1的后面,你必须在文件3中把指针指到文件的末尾,然后就会在文件1的末尾进行添加文件2的内容

上一个:高手帮忙做下C语言的题目~!万分感谢!!
下一个:谁给些个安徽省计算机c语言二级模拟或者真试题

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,