MFC怎么用CFileDialog打开一个txt文件,直接用系统自带的记事本打开就行~
MFC中点击一个button,然后如题,网上的程序:不行哈:CFileDialogfileDlg(TRUE);fileDlg.m_ofn.lpstrTitle="我的文件...
MFC中点击一个button,然后如题,网上的程序:不行哈:
CFileDialog fileDlg(TRUE);
fileDlg.m_ofn.lpstrTitle="我的文件打开对话框";
fileDlg.m_ofn.lpstrFilter="Text Files(*.txt)\0*.txt\0All Files(*.*)\0*.*\0\0";
if(IDOK==fileDlg.DoModal())
{
CFile file(fileDlg.GetFileName(),CFile::modeRead);
char *pBuf;
DWORD dwFileLen;
dwFileLen=file.GetLength();
pBuf=new char[dwFileLen+1];
pBuf[dwFileLen]=0;
file.Read(pBuf,dwFileLen);
file.Close();
MessageBox(pBuf);
}求指点改错~ 展开
CFileDialog fileDlg(TRUE);
fileDlg.m_ofn.lpstrTitle="我的文件打开对话框";
fileDlg.m_ofn.lpstrFilter="Text Files(*.txt)\0*.txt\0All Files(*.*)\0*.*\0\0";
if(IDOK==fileDlg.DoModal())
{
CFile file(fileDlg.GetFileName(),CFile::modeRead);
char *pBuf;
DWORD dwFileLen;
dwFileLen=file.GetLength();
pBuf=new char[dwFileLen+1];
pBuf[dwFileLen]=0;
file.Read(pBuf,dwFileLen);
file.Close();
MessageBox(pBuf);
}求指点改错~ 展开
2个回答
展开全部
上面的代码是读入文本文件的内容没错,只不过它是把文件内容存放在数组pBuf中,用MessageBox输出。理论上没错。不知道程序编译通过了没。楼主可以把运行结果情况说一下。
如果只是用系统带的记事本打开就可以的话有一个很简单的方法。c函数库里面有一个system(const char * cmd);函数相当于在cmd里面执行一条命令行。头文件为:stdlib.h。
你在按钮响应函数里面加入代码system(“notepad.exe *.txt”);其中*.txt为文件的全路径,如果你会用字符串格式函数就可以用上面文件打开对话框里面得到的文件全路径代替,这样你选哪个就会打开哪个。
你可以先在cmd界面里面试一下用记事本程序打开某个txt文件。
如果只是用系统带的记事本打开就可以的话有一个很简单的方法。c函数库里面有一个system(const char * cmd);函数相当于在cmd里面执行一条命令行。头文件为:stdlib.h。
你在按钮响应函数里面加入代码system(“notepad.exe *.txt”);其中*.txt为文件的全路径,如果你会用字符串格式函数就可以用上面文件打开对话框里面得到的文件全路径代替,这样你选哪个就会打开哪个。
你可以先在cmd界面里面试一下用记事本程序打开某个txt文件。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你应该这样在网上搜一下“vc如何调用记事本”,因为你获取文件后需要调用记事本打开文件,因此需要知道如何使用vc调用记事本打开文件。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询