if(!feof(filePointer))是否必要?

C、C++和Java语言
回复
头像
zzyubuntu
帖子: 55
注册时间: 2006-12-09 19:22
送出感谢: 0
接收感谢: 0
联系:

if(!feof(filePointer))是否必要?

#1

帖子 zzyubuntu » 2007-04-04 13:54

代码: 全选

int main()
{
   FILE *filePointer;
   int tempChar;
   filePointer = fopen("DI.txt","r");
   while (!feof(filePointer))
   {
      tempChar = fgetc(filePointer);
      if(!feof(filePointer))   //能否能去掉
      {
         putchar(tempChar);
      }
   }
   fclose(filePointer);
   return 0;
}
头像
laborer
帖子: 1016
注册时间: 2005-10-25 11:15
送出感谢: 0
接收感谢: 1 次
联系:

#2

帖子 laborer » 2007-04-04 14:12

不可以,可以改成这样的结构

代码: 全选

int main() 
{ 
   FILE *filePointer; 
   int tempChar; 
   filePointer = fopen("DI.txt","r"); 
   tempChar = fgetc(filePointer); 
   while (!feof(filePointer)) 
   { 
      putchar(tempChar); 
      tempChar = fgetc(filePointer); 
   } 
   fclose(filePointer); 
   return 0; 
}
头像
zzyubuntu
帖子: 55
注册时间: 2006-12-09 19:22
送出感谢: 0
接收感谢: 0
联系:

#3

帖子 zzyubuntu » 2007-04-04 14:52

谢谢了! :em11
头像
laborer
帖子: 1016
注册时间: 2005-10-25 11:15
送出感谢: 0
接收感谢: 1 次
联系:

#4

帖子 laborer » 2007-04-04 22:05

也可以

代码: 全选

int main() 
{ 
   FILE *filePointer; 
   int tempChar; 
   filePointer = fopen("DI.txt","r"); 
   while ((tempChar = fgetc(filePointer)) != EOF) 
   { 
      putchar(tempChar); 
   } 
   fclose(filePointer); 
   return 0; 
}
头像
zzyubuntu
帖子: 55
注册时间: 2006-12-09 19:22
送出感谢: 0
接收感谢: 0
联系:

#5

帖子 zzyubuntu » 2007-04-05 8:36

比较喜欢前一个
头像
arthur
帖子: 76
注册时间: 2006-08-13 16:06
送出感谢: 0
接收感谢: 0

#6

帖子 arthur » 2007-04-05 11:04

支持4楼的写法,逻辑比较清晰。
回复

回到 “C/C++/Java”