Debug Assertion Failed请教

wanwan0923 2010-06-25 10:55:00
我编写了一个udp接收程序,编译通过了,点击发送按钮后出现Debug Assertion Failed错误,filecore.cpp line 342
void CFile::SetLength(DWORD dwNewLen)
{
ASSERT_VALID(this);
ASSERT(m_hFile != (UINT)hFileNull);

Seek((LONG)dwNewLen, (UINT)begin);

if (!::SetEndOfFile((HANDLE)m_hFile))
CFileException::ThrowOsError((LONG)::GetLastError());
}
就是红色标记的那一行出了错误,请问该怎么解决呢
...全文
143 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanwan0923 2010-06-26
  • 打赏
  • 举报
回复
谢谢楼上,我加上了open的语句
if(!myFile.Open(strDis,CFile::modeCreate|CFile::modeWrite|CFile::typeBinary,&e))
{
//文件打开错误处理,错误代码为e.m_cause
strDis.Format("文件打开时发生异常!错误代码为:%d。",e.m_cause);
return;
}
但是还是出现那个错误
alangsos 2010-06-25
  • 打赏
  • 举报
回复
m_hFile != (UINT)hFileNull);

你看一下这两个变量里哪个还没有值的!
雪影 2010-06-25
  • 打赏
  • 举报
回复
CFile::hFileNull表示文件尚未打开。
if(m_file.m_hFile!=CFile::hFileNull)
表示文件已经成功打开。

hFileNull表示文件句柄为空。显然是未调用Open函数,或者Open失败了
alangsos 2010-06-25
  • 打赏
  • 举报
回复
m_hFile != (UINT)hFileNull);

你看一下这两个变量里哪个还没有值的!
oyljerry 2010-06-25
  • 打赏
  • 举报
回复
CFile你对应的文件句柄是否正确打开..Open的时候判断一下
zxdlms 2010-06-25
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 wanwan0923 的回复:]
引用 3 楼 tttyd 的回复:
CFile::hFileNull表示文件尚未打开。
if(m_file.m_hFile!=CFile::hFileNull)
表示文件已经成功打开。

hFileNull表示文件句柄为空。显然是未调用Open函数,或者Open失败了

我的程序里面根本就没用到open这个函数,仅仅用了seek和write,为什么会出现这样的错误啊?
[/Quote]你没有Open怎么对文件进行操作啊。
wanwan0923 2010-06-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 tttyd 的回复:]
CFile::hFileNull表示文件尚未打开。
if(m_file.m_hFile!=CFile::hFileNull)
表示文件已经成功打开。

hFileNull表示文件句柄为空。显然是未调用Open函数,或者Open失败了
[/Quote]
我的程序里面根本就没用到open这个函数,仅仅用了seek和write,为什么会出现这样的错误啊?
lijianli9 2010-06-25
  • 打赏
  • 举报
回复
文件没有成功打开,

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧