mfc 如何打开文件

mfc 如何打开文件,第1张

读取EXCEL文档里的数据,因为EXCEL是有格式的,所以和读取TXT等数据文件完全不同。

如果TXT,那么使用CFile类Open打开文件就可以读取数据了,相对比较简单。

读取EXCEL文档里的数据,需要用ADO数据源或者OLE的Office组件,在Open菜单响应函数中设置数据源并进行数据库 *** 作,如果初学,可能会比较困难,需要熟悉的东西很多。

建议:EXCEL文件可以另存为csv格式,这个是纯文本的,可以直接CFile按照文本文档读取,如果不是项目需求,这个实现比较适合初学者。

把"通过选择得到一个文件/文件夹的路径" 这些代码实现 写到某个函数里,不是写到按钮实现的函数里就行了。例如:

【以下代码中 filePathFile就是你想要的路径】

在主体函数中:

CFileDialog *lpszOpenFile //定义一个CfileDialog对象

//生成一个对话框

lpszOpenFile = new CFileDialog

(TRUE,"abc.txt","",OFN_FILEMUSTEXIST |OFN_HIDEREADONLY , "文件类型(*.txt)|*.txt|所有文件(*.*)|*.*|")

if(lpszOpenFile->DoModal() == IDOK )//假如点击对话框确定按钮

{

filePathName = lpszOpenFile->GetPathName()//得到打开文件的路径

}

if(!file.Open(filePathName,CFile::modeRead))

{

MessageBox("can not open file!")

return

}

使用MFC读取文件中的内容是程序设计中经常用到的功能

CFileDialog cFileDialog( TRUE, NULL, NULL, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_ALLOWMULTISELECT,

"All Files (*.*)|*.*||", AfxGetMainWnd())//第1步 取得路径

CString strFilePath = ""

CString strFileName = ""

if(cFileDialog.DoModal()==IDOK)

{

m_strFilePath = cFileDialog.GetPathName()

strFileName = cFileDialog.GetFileName()

UpdateData(false)

}

int input = 0

ifstream inout

inout.open(strFileName,ios::in)

if(!inout)

{

cerr<<"Unable to open file!"<<endl

}

else

{

cout<<"打开文件成功"<<endl

}

char nextline[256]

CString temp_str = ""

CString m_temp = ""

while(inout.getline(nextline, sizeof(nextline)))

{

temp_str = nextline

m_temp += temp_str

m_temp += "\r\n"//MFC的编辑框需要使用“\r\n”来识别换行,单单一个“\n”是不够的。

}

m_original = m_temp

AfxMessageBox(m_original)

UpdateData(false)

inout.close()

inout.clear()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11556513.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存