请问MFC如何通过按钮控件读取文件并将文件内容写入编辑框中
我现在的代码是:voidCzs_DESDlg::OnBnClickedButton4(){//TODO:在此添加控件通知处理程序代码CFileDialogfileDlg(...
我现在的代码是:
void Czs_DESDlg::OnBnClickedButton4()
{
// TODO: 在此添加控件通知处理程序代码
CFileDialog fileDlg(TRUE);
if(fileDlg.DoModal() == IDOK)
{
CString str;
CFile f;
f.Open(fileDlg.GetFileName(),CFile::modeReadWrite);
f.Read(str.GetBuffer(f.GetLength()),f.GetLength());
f.Close();
GetDlgItem( IDC_EDIT1 )->SetWindowText( str);
}
}
但是编译运行后总是出现找不到文件(图2)
开始考虑过是路径中有中文的问题,后来试了其他的也没法打开
求大佬告知 展开
void Czs_DESDlg::OnBnClickedButton4()
{
// TODO: 在此添加控件通知处理程序代码
CFileDialog fileDlg(TRUE);
if(fileDlg.DoModal() == IDOK)
{
CString str;
CFile f;
f.Open(fileDlg.GetFileName(),CFile::modeReadWrite);
f.Read(str.GetBuffer(f.GetLength()),f.GetLength());
f.Close();
GetDlgItem( IDC_EDIT1 )->SetWindowText( str);
}
}
但是编译运行后总是出现找不到文件(图2)
开始考虑过是路径中有中文的问题,后来试了其他的也没法打开
求大佬告知 展开
1个回答
2019-04-22
展开全部
CStdioFile f;
if (f.Open("文件绝对路径", CFile::modeRead | CFile::typeText))
{
CString s, str=_T("");
setlocale(LC_CTYPE, "chs");
while (f.ReadString(s))
{
str=str+s+_T("\r\n")
}
f.Close();
}
SetDlgItemTextW(IDC_EDIT1,str);
追问
请问setlocale和LC_CTYPE是什么意思,我用的是VS2010,它会报错
追答
#include
设置地域为中文, 不然有时读取汉字时会乱码
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询