我在编写读取xml文件的程序,函数如下
void mxml_refill_from_stream_func( MXML_REFIL *ref )
{
FILE *fp = (FILE *) ref->data;
int len; len = fread( ref->buffer, 1, ref->bufsize, fp ); if ( ferror( fp ) ) {
ref->status = MXML_STATUS_ERROR;
ref->error = MXML_ERROR_IO;
}
else {
ref->buflen = len;
ref->bufpos = 0;
}
} 但是运行到len = fread( ref->buffer, 1, ref->bufsize, fp );那个位置,总是出现
Unhandled Exception in myxml.exe(NTDLL.DLL):0XC0000005:Access ... 已经调试一天了,还没有解决,高手帮忙啊
void mxml_refill_from_stream_func( MXML_REFIL *ref )
{
FILE *fp = (FILE *) ref->data;
int len; len = fread( ref->buffer, 1, ref->bufsize, fp ); if ( ferror( fp ) ) {
ref->status = MXML_STATUS_ERROR;
ref->error = MXML_ERROR_IO;
}
else {
ref->buflen = len;
ref->bufpos = 0;
}
} 但是运行到len = fread( ref->buffer, 1, ref->bufsize, fp );那个位置,总是出现
Unhandled Exception in myxml.exe(NTDLL.DLL):0XC0000005:Access ... 已经调试一天了,还没有解决,高手帮忙啊
ref->buffer有没有开辟空间的?if(!fp)判断一下fp是否是有效值
int len; len = fread( ref->buffer, 1, ref->bufsize, fp ); 代码这里:要检查fp是否为NULL
即:
if (fp != NULL) {...