mfc用二进制方式打开文件。
我的代码:voidCMy1View::OnErjinzhi(){//TODO:Addyourcommandhandlercodehere//UpdateData(true...
我的代码:
void CMy1View::OnErjinzhi()
{
// TODO: Add your command handler code here
//UpdateData(true);
CFileDialog dlg(TRUE,NULL,NULL, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_ALLOWMULTISELECT, "All Files (*.*)|*.*|Text files(*.txt)|*.txt|Word documents(*.doc)|*.doc||",AfxGetMainWnd());
CString str;
if(dlg.DoModal()==IDOK)
{
str= dlg.GetPathName();//获取文件名,你可以用这个参数来对文件进行操作,比如fopen()
MessageBox(str);//这里举了个例子,用MessageBox来弹出你所选中的文件名。
}
CStdioFile f1;
//CFile file;
CString FileName=str;
f1.Open(FileName,CFile::modeRead | CFile::typeBinary);
f1.Close();
AfxGetApp()->OpenDocumentFile(str);
// UpdateData(false);//在文本框显示
MessageBox("读出成功!");
}
为何还是以文本方式输出呢?
请各位大侠指教~ 展开
void CMy1View::OnErjinzhi()
{
// TODO: Add your command handler code here
//UpdateData(true);
CFileDialog dlg(TRUE,NULL,NULL, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_ALLOWMULTISELECT, "All Files (*.*)|*.*|Text files(*.txt)|*.txt|Word documents(*.doc)|*.doc||",AfxGetMainWnd());
CString str;
if(dlg.DoModal()==IDOK)
{
str= dlg.GetPathName();//获取文件名,你可以用这个参数来对文件进行操作,比如fopen()
MessageBox(str);//这里举了个例子,用MessageBox来弹出你所选中的文件名。
}
CStdioFile f1;
//CFile file;
CString FileName=str;
f1.Open(FileName,CFile::modeRead | CFile::typeBinary);
f1.Close();
AfxGetApp()->OpenDocumentFile(str);
// UpdateData(false);//在文本框显示
MessageBox("读出成功!");
}
为何还是以文本方式输出呢?
请各位大侠指教~ 展开
2个回答
展开全部
楼主想做什么?不明确
要读文本类容的话用
CString sRead;//你读取的类容
while(f1.ReadString(sRead))
{
//你的处理代码
}
要读文本类容的话用
CString sRead;//你读取的类容
while(f1.ReadString(sRead))
{
//你的处理代码
}
追问
我创建了一个记事本,
f1.Open(FileName,CFile::modeRead | CFile::typeBinary);是以二进制方式打开,
请问用AfxGetApp()->OpenDocumentFile(str)是否只能用文本方式显示?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你没描述清楚啊?什么还是以文本输出? 你说哪一块 以文本输出?
追问
我创建了一个记事本,
f1.Open(FileName,CFile::modeRead | CFile::typeBinary);是以二进制方式打开,
请问用AfxGetApp()->OpenDocumentFile(str);
还是只能在记事本编辑框中以文本方式显示?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询