fget.c stream=!null断言错误,用VC++编的C程序
fget.cstream=!null断言错误,用VC++编的C程序#include<stdio.h>#include<stdlib.h>intmain(){printf(...
fget.c stream=!null断言错误,用VC++编的C程序
#include <stdio.h>
#include<stdlib.h>
int main()
{
printf("Hello World!\n");
FILE *fp;
int ch;
if((fp=fopen("abc.txt","r"))!=NULL)
printf("file= ");
while((ch=fgetc(fp))!=EOF)
putchar(ch);
fclose(fp);
fp=NULL;
return 0;
}
编译运行都能通过,但是VC会出现一个框,提示fgetc.c line 41 stream=!null 怎么解决这个错误呢 展开
#include <stdio.h>
#include<stdlib.h>
int main()
{
printf("Hello World!\n");
FILE *fp;
int ch;
if((fp=fopen("abc.txt","r"))!=NULL)
printf("file= ");
while((ch=fgetc(fp))!=EOF)
putchar(ch);
fclose(fp);
fp=NULL;
return 0;
}
编译运行都能通过,但是VC会出现一个框,提示fgetc.c line 41 stream=!null 怎么解决这个错误呢 展开
1个回答
展开全部
#include <stdio.h>
#include<stdlib.h>
int main()
{
printf("Hello World!\n");
FILE *fp;
int ch;
if((fp=fopen("abc.txt","r"))!=NULL)
{//加上大括号,这样没有文件就不会读取,就不报错了
printf("file= ");
while((ch=fgetc(fp))!=EOF)
putchar(ch);
fclose(fp);
fp=NULL;
}
return 0;
}
报错是因为没找到文件或者没有正确打开。调整一下代码,确保打开判断的逻辑正确就可以了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询