文件的怪问题!不难!
最近在学文件,发现有个问题,就是在Win-Tc上调试,若采用以下红色的那一句,就不行了。 #include<stdio.h> main() { FILE *f; char c; //if(fopen("d:\\hdntv-2.51\\config.lss","r")==NULL) 为什么这一句与下面的两句的作用不是相同而且若使用这一句,则就不能正常显示了。
f=fopen("d:\\hdntv-2.51\\config.lss","r"); if(f==NULL) { printf("This file doesn't be opened."); exit(1); } c=fgetc(f); while (c!=EOF) { putchar(c); c=fgetc(f); } fclose(f); getch(); }
搜索更多相关的解决方案:
文件
----------------解决方案--------------------------------------------------------
if(fopen("d:\\hdntv-2.51\\config.lss","r")==NULL) if((f=fopen("d:\\hdntv-2.51\\config.lss","r"))==NULL)
----------------解决方案--------------------------------------------------------
fopen 是个打开文件的语句。不能等价。
而 f 是执行了语句后的真假。可以比较。
----------------解决方案--------------------------------------------------------
fopen 是个打开文件的函数。返回值一个指针。
函数自然不能用来比较了。
----------------解决方案--------------------------------------------------------
谢谢各位的指点,现知道了问题的所在,真是开心哪!
----------------解决方案--------------------------------------------------------