错误提示如下:Debug Assertion Failed!
Program :..项目\..........................
File:filecore.cpp
Line:258For informateion on how your program can cause an assertion
failure,see the Visual C++ documentation on asserts.请问是不是少设置了什么?

解决方案 »

  1.   

    是不是在什么关键地方用了ASSERT语句
      

  2.   

    ///////////filecore.cpp////////////
    LONG CFile::Seek(LONG lOff, UINT nFrom)
    {
    ASSERT_VALID(this);         ///////257
    ASSERT(m_hFile != (UINT)hFileNull);           //////////258
    ASSERT(nFrom == begin || nFrom == end || nFrom == current);
    文件没有打开(或者是打开失败什么的)就用了seek
      

  3.   

    ASSERT语句
    是什么?我记得是没有的。
      

  4.   

    如果是Assert抛出异常,那在IDE中Debug时怎么可以运行呢??
      

  5.   

    CFile fLog;
    CString Path;
    Path.Format("%s%s%s", ".\\log\\", GetNowDate(), ".txt");fLog.Open(Path, (CFile::modeCreate | CFile::modeWrite | CFile::modeNoTruncate 
    | CFile::shareDenyNone));这个是用来记录程序日志的。在程序启动时执行。可执行程序放在Debug目录下,Log目录在同级文件夹下。调试状态都OK,直接执行EXE则出错。会不会是目录指得不对呢?
      

  6.   

    试了一下,果然是路径的问题。我用绝对路径指向日志目录,就不会出错。但小弟还是有一点不明白。怎么样才能用相对路径,而IDE环境下执行与直接执行EXE这两种情况都能成功呢?例如:程序目录是 D:\TEST.  编译出来的EXE文件放在了D:\TEST\Debug目录下,则日志目录是D:\TEST\Log。请问,这个时候,这个相对路径应该如何写?(工程里的其他设置为默认)
      

  7.   

    程序中你应该得到你的exe执行目录,然后再连接log文件 TCHAR szCurPath[MAX_PATH];
    memset(szCurPath, 0, MAX_PATH);
    GetModuleFileName(NULL, szCurPath, sizeof(szCurPath)/sizeof(TCHAR));