|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include<stdio.h>
- #include<stdlib.h>
- int i;
- int main()
- {
- char n,ch,c[7];
- FILE *fp1=fopen("a.c","r");//以只读的方式打开输入文件
- FILE *fp2=fopen("b.c","r");//以只读的方式打开输出文件
- if(fp1==NULL){//文件a.c不存在
- printf("打开文件失败\n");
- return 0;
- }
- else if(fp2==NULL)//文件b.c不存在
- {
- fclose(fp2);
- for(i=0;(ch=fgetc(fp1))!=EOF;i++)
- {
- c[i]=ch;
- putchar(c[i]);
- }
- fclose(fp1);
- fp2=fopen("b.c","w");
- for(i=0;i<n;i++)
- {
- putc(c[i],fp2);
- putchar(c[i]);
- }
- printf("\n");
- fclose(fp2);
- return 0;
- }
- else//两文件都存在
- {
- printf("请选择是否覆盖原文件:\n覆盖则输入A\n不覆盖则输入B\n");
- scanf("%c",&n);
- switch(n)//选择是否覆盖
- {
- case'A':
- fclose(fp2);
- for(i=0;(ch=fgetc(fp1))!=EOF;i++)
- {
- c[i]=ch;
- putchar(c[i]);
- }
- fclose(fp1);
- fp2=fopen("b.c","w+");
- fflush(stdin);
- for(i=0;i<n;i++)
- {
- putc(c[i],fp2);
- putchar(c[i]);
- }
- printf("\n");
- fclose(fp2);
- break;
- case'B':break;
- default:printf("enter data error!\n");
- }
- }
- }
复制代码
有没有哥哥姐姐帮我分析一下最后那行乱码咋去掉啊,烦恼
return 0;
- #include<stdio.h>
- int main(void)
- {
- int f = 1 ;
- char c ;
- FILE * fp1 , * fp2 ;
- if((fp1 = fopen("a.c" , "r")) != NULL) {
- if((fp2 = fopen("b.c" , "r")) != NULL) {
- f = 0 ;
- fclose(fp2) ;
- printf("输出文件 <b.c> 已经存在\n") ;
- printf("请决定是否覆盖 (y / n) : ") ;
- c = getchar() ;
- if(c == 'Y' || c == 'y') f = 1 ;
- }
- if(f) {
- if((fp2 = fopen("b.c" , "w")) != NULL) {
- c = fgetc(fp1) ;
- while(! feof(fp1)) {
- fputc(c , fp2) ;
- putchar(c) ;
- c = fgetc(fp1) ;
- }
- fclose(fp2) ;
- } else {
- fprintf(stderr , "\n") ;
- fprintf(stderr , "无法创建输出文件 <b.c>\n") ;
- fprintf(stderr , "\n") ;
- }
- }
- fclose(fp1) ;
- } else {
- fprintf(stderr , "\n") ;
- fprintf(stderr , "无法打开输入文件 <a.c>\n") ;
- fprintf(stderr , "\n") ;
- }
- }
复制代码
|
-
|