计算机二级-C语言-程序填空题-190117记录-对文件的处理,复制两个文件,往新文件中写入数据。

//给定程序的功能是,调用函数fun将指定源文件中的内容赋值到指定目标文件中,复制成功时函数返回1,失败时返回0,把复制的内容输出到终端屏幕。主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。

//重难点:对文件的处理。如何判断文件是否达到末尾,如何往文件中写入数据。

 1 #include    <stdio.h>
 2 #include    <stdlib.h>
 3 int fun(char  *source, char  *target)
 4 {  FILE  *fs,*ft;      char  ch;
 5 /**********found**********/
 6    if((fs=fopen(source, "r"))==NULL)
 7       return 0;
 8    if((ft=fopen(target, "w"))==NULL)
 9       return 0;
10    printf("\nThe data in file :\n");
11    ch=fgetc(fs);//从文件中获取一个数据,
12 /**********found**********/
13    while(!feof(fs))//判断文件是否到达末尾,这里填文件指针。
14    {  
15         putchar( ch );//输出字符
16 /**********found**********/
17         fputc(ch, ft);//往文件里输出
18         ch=fgetc(fs);//再次获取。
19    }
20    fclose(fs);  fclose(ft);
21    printf("\n\n");
22    return  1;
23 }
24 main()
25 {  char  sfname[20] ="myfile1",tfname[20]="myfile2";
26    FILE  *myf;      int  i;      char  c;
27    myf=fopen(sfname,"w");
28    printf("\nThe original data :\n");
29    for(i=1; i<30; i++){ c='A'+rand()%25;fprintf(myf,"%c",c); printf("%c",c); }
30    fclose(myf);printf("\n\n");
31    if (fun(sfname, tfname))  printf("Succeed!");
32    else  printf("Fail!");
33 }

 

posted @ 2019-01-17 11:14  小大大小  阅读(452)  评论(0编辑  收藏  举报