首页 > 代码库 > 关于VS2013优化后MFC中对文件读取失败的解析(debug下可以,release下失败)

关于VS2013优化后MFC中对文件读取失败的解析(debug下可以,release下失败)

经测试:

          错误来源于:如下程序,在vs2010下使用GetFileName(),文件可以成功读取,但在VS2013下,使用GetFileName()读取文件在debug下可以,但release下失败,改为GetPathName()后,便可以成功编译。

CFileDialog filePCloudDlg(TRUE);
filePCloudDlg.m_ofn.lpstrTitle=_T("选择点云文件");
filePCloudDlg.m_ofn.lpstrFilter=_T("Text Files(*.txt)\0*.txt\0All Files(*.*)\0*.*\0\0");
if (IDOK==filePCloudDlg.DoModal())
{  
icp.msVecSrcPoints.clear();    //清空点云存储容器

               //CString fileName = filePCloudDlg.GetFileName();//得到用户选择的文件名
CString fileName = filePCloudDlg.GetPathName();//得到文件的完整路径名
std::ifstream filePCloud(fileName);
if (!filePCloud)
{
MessageBox(_T("Unable to open the file!"));
}
while(!filePCloud.eof())
{
filePCloud>>PointCloud;
if (filePCloud.eof())
{
 break;
}
icp.msVecSrcPoints.push_back(PointCloud);
}
filePCloud.close();
}

关于VS2013优化后MFC中对文件读取失败的解析(debug下可以,release下失败)