fread()
导致错误,并说:
File: f:\ dd\vctools\ crt_bld\ self_x86\ crt\ src\fread.c
Line: 102
Expression: (stream != NULL)
For information on how your program can cause an assertion
failure, see the Visual C++ documentation on asserts.
(Press Retry to debug the application)
我该怎么办?我已在我的计划中加入<stdio.h>
。我目前正在使用Visual C ++ MFC开发我的项目。
答案 0 :(得分:6)
Expression: (stream != NULL)
解释了这一切。
您正在将NULL
信息流传递给fread
而您不应该这样做。
答案 1 :(得分:1)
您是否确认您有适当的FILE对象要发送给fread?在使用之前尝试检查它是否为null。还要查看关于断言的文档,它不是关于你有哪些文件#included。这是运行时错误。
答案 2 :(得分:1)
函数fread()
将FILE*
作为参数:
size_t __cdecl fread(
void *buffer,
size_t elementSize,
size_t count,
FILE *stream
)
您发送的FILE*
为NULL。你应该调试你的程序,找出原因。
您可以通过打开计算机中的文件f:\ dd\vctools\ crt_bld\ self_x86\ crt\ src\fread.c
并查看其在第102行上的操作,以与我相同的方式在您的on上找到此信息。
答案 3 :(得分:1)
您是否尝试过邮件的(Press Retry to debug the application)
部分。
如果你进入调试器,你很可能会在assert()结束,并且可以检查调用堆栈以找到对fread的调用来自哪里。然后找出为什么FILE *在那里为空!或许打电话给fopen失败?