请问断言错误是什么意思?
我在用函数fgets()读取文件运行时显示 "assertion failure "是什么意思呢,如何解决?
原程序如下:
#include <stdio.h>
#include <stdlib.h>
void main()
{
char s[24];
FILE *fp;
fp=fopen( "d:\\bak_ex\\test.dat ", "r "); /*打开文字文件只读*/
if(fp=NULL)
{
puts( "File open eror ");
exit(0);
}
fgets(s, 24, fp); /*从文件中读取23个字符*/
printf( "%s ", s); /*输出所读的字符串*/
fclose(fp); /*关闭文件*/
}
[解决办法]
if(fp==NULL)
{
...
}
不是
if(fp=NULL)
{
...
}
[解决办法]
fp == NULL
最好写成 NULL == fp 这样的话,如果写成了NULL = fp 编译不通过.减少出错概率.
呵呵