void compare()
{
recurse("Data//Format");
}void recurse(LPCTSTR pstr)
{
int i = 1;
CFileFind finder;
string strWildcard(pstr);
strWildcard.append("//*.*");
BOOL bWorking = finder.FindFile(strWildcard.c_str());
::OutputDebugString("AAAAA");
while (bWorking)
{
bWorking = finder.FindNextFile();
if (finder.IsDots())
{
::OutputDebugString("QQQQQQ");
continue;
}
cout<<(LPCTSTR)finder.GetFileName()<<endl;
if (finder.IsDirectory())
{
cout<<"========================"<<endl;
}
}
finder.Close();
}
/***********************************************/
请问各位为什么在Release模式下到if(finder.IsDirectory())就不能运行了?
Debug模式没有问题是setting的问题吗?求教,坐等。

解决方案 »

  1.   

    recurse("Data//Format");
    先改用 绝对路径 试试// 建议改为 \\
      

  2.   


    Release和Debug编译都是通过的,路径是没有问题的;我也试了一下您的建议,可是还是不行,我的setting中:
    ①“General”:Use MFC in a Static Library
    ②“Link”的Object/library modules:
    “kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Nafxcwd.lib Libcmtd.lib ”
      

  3.   

    恩进行到这边出问题的,我用的DebugView那个软件,打印结果也表示:到那边就进行不下去了。
    可以看一下你的settings吗?就是general和link里面的相应选项。
      

  4.   


    对啊,就是死掉了,您的setting可以看一下吗?贴一下?我怀疑是设置的问题,不然两种版本编译都通过,但是debug能运行,release不能运行还能有什么原因呢?坐等。