是通过菜单实现的:
m_pFileSingleMeasureResult = fopen("SingleMeasureResult.txt","a");
ASSERT(m_pFileSingleMeasureResult != NULL); ASSERT(fprintf(m_pFileSingleMeasureResult," file: %s",m_sFileFullName) >=0);
ASSERT(fprintf(m_pFileSingleMeasureResult,
"center: %5.2f %5.2f  up: %5.2f  %5.2f left: %5.2f  %5.2f  right: %5.2f  %5.2f down: %5.2f %5.2f \n",
g_vcdUV[0][0],g_vcdUV[0][1],g_vcdUV[1][0],g_vcdUV[1][1],
g_vcdUV[2][0],g_vcdUV[2][1],g_vcdUV[3][0],g_vcdUV[3][0],
g_vcdUV[4][0],g_vcdUV[4][0],g_vcdUV[4][0]) >=0);
fclose(m_pFileSingleMeasureResult);
点几次菜单就弹出对话框提示出错:
说filecore.cpp   Line220出错,什么原因啊?

解决方案 »

  1.   

    我也遇见过这样的问题,DEBUG一下。LZ,在哪一行出错啊??一般是出错的那一句中的参数有问题。
      

  2.   

    我用楼主的代码作了测试没有问题,不知道楼主为什么会进cfile的readUINT CFile::Read(void* lpBuf, UINT nCount)
    {
    ASSERT_VALID(this);
    ASSERT(m_hFile != (UINT)hFileNull);  // 出错  if (nCount == 0)
    return 0;   // avoid Win32 "null-read" ASSERT(lpBuf != NULL);
    ASSERT(AfxIsValidAddress(lpBuf, nCount)); DWORD dwRead;
    if (!::ReadFile((HANDLE)m_hFile, lpBuf, nCount, &dwRead, NULL))
    CFileException::ThrowOsError((LONG)::GetLastError()); return (UINT)dwRead;
    }
      

  3.   

    "center: %5.2f %5.2f  up: %5.2f  %5.2f left: %5.2f  %5.2f  right: %5.2f  %5.2f down: %5.2f %5.2f \n",
    g_vcdUV[0][0],g_vcdUV[0][1],g_vcdUV[1][0],g_vcdUV[1][1],
    g_vcdUV[2][0],g_vcdUV[2][1],g_vcdUV[3][0],g_vcdUV[3][0],
    g_vcdUV[4][0],g_vcdUV[4][0],g_vcdUV[4][0]) >=0);为什么%5.2f只有10个,传入的参数却是11个?
      

  4.   

    谢谢各位,原因是open错了,没有判断,所以在read 时就出错了。与该贴有关的一个帖子是界面分论坛中我的一个帖子,希望大家帮忙看看。http://community.csdn.net/Expert/topic/4756/4756949.xml?temp=.7699701
    我先结此贴 了。