关于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();

}

时间: 2024-10-13 13:08:16

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

MFC中浏览文件和浏览目录的实现[转]

1. 浏览文件 1 void CDlgCompare::OnBnClickedBtnSel() 2 { 3 // TODO: Add your control notification handler code here 4 UpdateData(TRUE); 5 CFileDialog fileDlg(TRUE); 6 fileDlg.m_ofn.lpstrTitle="文件打开对话框"; 7 fileDlg.m_ofn.lpstrFilter="All Files(*.*

java中的文件读取和文件写出:如何从一个文件中获取内容以及如何向一个文件中写入内容

1 2 3 import java.io.BufferedReader; 4 import java.io.BufferedWriter; 5 import java.io.File; 6 import java.io.FileInputStream; 7 import java.io.FileNotFoundException; 8 import java.io.FileOutputStream; 9 import java.io.IOException; 10 import java.io.

HTML5---17.html5中的文件读取

FireReader 文件读取器 构造函数--->生产对象 对象:属性 方法 事件 属性: result 方法: readAsText():结果是文本 readAsBinaryString():结果是二进制的字符串 readAsDataURL():结果是数据地址 事件:onload 读取成功的事件 应用场景:即时预览 原文地址:https://www.cnblogs.com/Tobenew/p/10509621.html

MFC中数据文件的存储和加载

1. 传统的数据存储,将数据定义到一个结构体中,用CFile的方式循环读写数据结构体 struct SData { UINT nNumb; TCHAR sName[20]; COleDateTime date; }; void CfffDlg::OnBnClickedSave() { //另存为对话框 CFileDialog fd(FALSE, _T("*.fff"), _T("example"), OFN_OVERWRITEPROMPT, _T("信息文

PowerShell中进行文件读取,信息排序,分类计数。

这是国外某大学QA的一道作业题,读取mainlog文件中的每一行信息,并获取有效的信息,也就是每条信息中第四个@后面的内容,然后进行分类与计数,要求是用Perl写,但我是用PowerShell完成的,文件截图如下: 代码如下: 1 <# 2 $logPath = "C:\Users\tylan\Desktop\mainlog.txt" 3 #> 4 function CheckInfo 5 { 6 param($logPath) 7 $logContent = Get-Co

JAVA 中的文件读取

1. InputStream / OutputStream处理字节流抽象类:所有输入.输出(内存)类的超类,一般使用 FileInputStream / FileOutputStream 输出字符 utf8 编码:如 4431 2. InputStreamReader / OutputStreamWriter处理字符流抽象类  InputStreamReader:字节流通向字符流的桥梁,将字节流转换为字符流  OutputStreamWriter:字符流通向字节流的桥梁,将字符流转换为字节流 输

MFC中Enter、ESC的屏蔽及PreTranslateMessage

在项目完备时,我们通常会发现当点击Enter键或者ESC时程序便会退出,而我们需要的是只要不点击“差”,程序便不会退出,本文主要涉及MFC中的Enter.ESC的屏蔽以及PreTranslateMessage 首先说下PreTranslateMessage 函数原型为:virtual BOOL PreTranslateMessage(MSG* pMsg); 其功能是:PreTranslateMessage是消息在送给TranslateMessage函数之前被调用的,绝大多数本窗口的消息都要通过这

Win 32平台SDK中的文件操作

读取文件: HANDLE hFile ; // 声明文件操作内核对象句柄 hFile = CreateFile("1.txt", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL) ; char buf[100] ; DWORD num ; ReadFile(hFile, buf, 100, &num, NULL) ; // 第四个参数指定的是实际读取的文件大小 buf[num] = 0 ; //

【Spring源码分析】.properties文件读取及占位符${...}替换源码解析

前言 我们在开发中常遇到一种场景,Bean里面有一些参数是比较固定的,这种时候通常会采用配置的方式,将这些参数配置在.properties文件中,然后在Bean实例化的时候通过Spring将这些.properties文件中配置的参数使用占位符"${}"替换的方式读入并设置到Bean的相应参数中. 这种做法最典型的就是JDBC的配置,本文就来研究一下.properties文件读取及占位符"${}"替换的源码,首先从代码入手,定义一个DataSource,模拟一下JDB