MFC读取文件内容显示在MessageBox里为什么每次都有乱码
voidCReadFileDlg::OnEnChangeMfceditbrowse1(){//TODO:IfthisisaRICHEDITcontrol,thecontr...
void CReadFileDlg::OnEnChangeMfceditbrowse1()
{
// TODO: If this is a RICHEDIT control, the control will not
// send this notification unless you override the CDialogEx::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.
// TODO: Add your control notification handler code here
CString strText,str;
GetDlgItemText(IDC_MFCEDITBROWSE1, strText);
CFile f;
f.Open(strText, CFile::modeReadWrite);
f.Read(str.GetBuffer(f.GetLength()), f.GetLength());
f.Close();
MessageBox(str);
} 展开
{
// TODO: If this is a RICHEDIT control, the control will not
// send this notification unless you override the CDialogEx::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.
// TODO: Add your control notification handler code here
CString strText,str;
GetDlgItemText(IDC_MFCEDITBROWSE1, strText);
CFile f;
f.Open(strText, CFile::modeReadWrite);
f.Read(str.GetBuffer(f.GetLength()), f.GetLength());
f.Close();
MessageBox(str);
} 展开
展开全部
定义文件类为:CStdioFile f;
读取函数改为:f.ReadString(str);
就不会乱码了。
读取函数改为:f.ReadString(str);
就不会乱码了。
更多追问追答
追问
修改后乱的好像更多了。原来前面是对的比如文本是 0
读取的是0***
现在连0都读不出来了
追答
怎么可能?我每天用这两条语句上千次,没一次出错!
你看我的源码:
// 获取当前日期
int pCurTime=GetCurTime();
CStdioFile file;
file.Open("F:\\asd\\data.txt",CFile::modeRead);
CString str;
int n=0;
int cnt=0;
for(n=0;file.ReadString(str);n++)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询