2011年软件水平考试程序员之程序设计知识点29
8.2 文件处理程序结构和文件输入输出常用库函数
1.正文文件输入处理
从正文文件逐一输入字符,对输入的字符作某种处理的程序结构有:
int c; /* 不能为char类型 */
… /*说明有关变量和设置初值等 */
fp=fopen(文件名,"r"); /* 正文文件以读方式打开 */
while(( c= fgetc(f))!= EOF) {
… /* 这里对刚读人的存于C中的字符作某种处理 */
}
fclose(fp);
.../*输出处理结果 */
其中函数 fgetC()的说明形式为
int fgetc(FILE *fp)
该函数的功能是从与中相联系的文件中读人下一个字符。在文件的控制块中,有一个当前读字符的位置信息,每读入一个字符后,在文件还未结束情况下,这个当前位置信息就移向其后一个字符,从而保证程序反复调用函数fgetc() 能顺序读人文件中的字符。函数fgetc() 的返回值就是读入字符的ASCII代码值。读八字符时,如遇到文件结束,函数返回文件结束标记EOF。对于正文文件,由于字符的ASCII代码不可能是-1,因此可用EOF(定义为-1) 作为文件结束标记。
【例8.1】 输入正文文件,统计文件中英文字母的个数,并输出。
为使程序更有一般性,设程序要统计的正文文件名在程序启动时由输入指定。
# include
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='A' && ch
编辑推荐:
温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)
点击加载更多评论>>