首页>计算机>软件水平考试>复习指导>正文
高级语言程序设计知识点 八

www.zige365.com 2010-7-28 10:50:54 点击:发送给好友 和学友门交流一下 收藏到我的会员中心

   # include<stdio.h> 
    FILE *fp;
    int   main() 
    { int   count, ch;
    char   fname[40];
    printf("输入文件名!\n");
   scanf("%s%*c", fname) ; /* 读入文件名和名后的回车符 */ 
    if((fp = fopen(fname,"r"))== NULL) { /* 以读方式打开正文文件 */ 
    printf("Can not open%s file.\n", fname);
    return 0; /* 程序非正常结束 */ 
   }
   count= 0;
   while((ch =fgetc(fp))! =EOF) { 
        / * 这里对刚读人的存于ch中的字符信息作某种处理 */ 
    if(ch>='a' && ch<='z' || ch>='A' && ch<='Z' ) 
     count++;
     }
    fclose(fp);
         /*输出处理结果 */ 
     printf("文件%s有英文字母%d个.\n", fname, count) 
     return l; /* 程序执行正常结束 */ 
     }

   2.二进制文件输入处理
    从二进制文件逐一输入字节,并作某种处理的程序结构有:
    char c; /* 也可以是 int类型 */ 
    … /* 说明有关变量和设置初值等 */ 
    fp = fopen(文件名,"rb");
    while(! feof(fp)) {
    c=fgetc(fp);
    … /* 这里对存于C中的字节信息作某种处理 */ 
    }
    fclose(fp);
       /* 输出处理结果 */ 
其中函数feof() 用来判断文件是否结束。函数调用feof(fp) 用来测试与fp相联系的文件当前状态是否为“文件结束”状态。如果是文件结束状态,函数调用feof(fp)返回非零值,否则返回零值。函数feof()也可用于测试正文文件。
    对于二进制文件,一般不能以读人字节的值是否为-1来判定二进制文件是否结束,而应该用函数feof()。
    3.字符(或字节)逐一生成形成新文件的程序结构
    正文文件与二进制文件的生成程序除文件打开方式不同外,它们的程序结构基本相同。字符(或字节)逐一生成输出,形成新文件的程序结构有:
    int c; /* 也可以是char类型 */ 
    … /* 说明有关变量和设置初值等 */ 
    fp = fopen(文件名,"W"); /* 或fP=fopen(文件,"wb") */ 
    while(还有字符(或字节)) {
    … /* 生成字符(或字节)存于变量c */ 

   fpute( c,fp); /* 将生成的字符(或字节)输出 */ 
    }
     fclose(fp);
     … /* 输出程序结束报告 */ 
这里的函数fputc()的说明形式为
    int fputc( char ch, FILE *fp) 
该函数的功能是将ch中的字符输出到与fp文件指针相联系的文件中。函数fputc()返回一个整数值。如果输出成功,则返回值就是输出字符的ASCII代码值;如果输出失败,则返回EOF,即-1。
    曾介绍过的函数putchar()是在stdio.h中用函数fputc()定义的宏:

本新闻共7页,当前在第4页  1  2  3  4  5  6  7  

我要投稿 新闻来源: 编辑: 作者:
相关新闻
高级语言程序设计知识点 七
高级语言程序设计知识点 六
高级语言程序设计知识点 五
高级语言程序设计知识点 四
高级语言程序设计知识点 三