下面的程序用来统计文件中字符的个数。 main( ) { FILE*fp; long num=0; if((fp=fopen(“fname.day”,“r”))==NULL) {printf<“Cann’t open file\n”);eti

admin2014-10-20  32

问题 下面的程序用来统计文件中字符的个数。
  main(    )
  {
FILE*fp;
long num=0;
if((fp=fopen(“fname.day”,“r”))==NULL)
{printf<“Cann’t open file\n”);etit(O);}
while{fgetc(fp);num++;)
printf(“hum=%d n”,num);
fclose(fp);
}

选项

答案! feof(fp)

解析 若要统计文件中的字符个数,程序设计一个计数器,并预置该计数器为0值,并打开文件。在正确打开情况下,接着是一个循环。循环在文件未结束的情况下,反复读入字符,并增加字符计数器。所以循环条件可写成:程序有一个错误,由于num变量的类型是long型的,输出它的值应在格式符d之前加上格式修饰符’1’,不加这个修饰符只有在10ng型与int型实现相同的系统才是正确的。另外,要统计文件的长度,最好用二进制方式打开,通过读入的字节数求出文件的长。这是因为正文文件方式打开时,文件中的双字符(回车字符和换行字符)读人后将被当作一个字符存储,二进制方式不进行这样的转换。
转载请注明原文地址:https://jikaoti.com/ti/X29fFFFM
0

最新回复(0)