VS2010C++的打开下面的代码做出来打开TXT是乱码,为什么把属性改成多字节字符集就可以了,要怎么改代码
代码如下voidC打开和保存Dlg::OnBnClickedOpen(){//使用CFileDialog对话框,第一个参数为TRUE时是打开对话框,为FALSE时是保存对...
代码如下
void C打开和保存Dlg::OnBnClickedOpen()
{
//使用CFileDialog对话框,第一个参数为TRUE时是打开对话框,为FALSE时是保存对话框
CFileDialog dlg(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, TEXT("文本文件 (*.txt)|*.txt||"));
if(dlg.DoModal() == IDOK)
{
//获得文件名
CString szFileName = dlg.GetPathName();
m_OpenPath.SetWindowText(szFileName);
//下面添加对文件的操作代码File.GetLength()
CFile File(szFileName,CFile::modeRead);
char read[10000];
CString strText;
File.Read(read,10000);
for(int i = 0;i < File.GetLength();i++)
{
strText += read[i];
}
File.Close ();
m_FileText.SetWindowText(strText);
}
}
这个程序是打开一个txt的文件,但是用VS2010程序能生成但是打开txt是乱码,怎么该程序能让其显示正常~这个是VC6.0的程序 可以把文件属性改成多字节的能调试通过,如果要改代码怎么该~ 展开
void C打开和保存Dlg::OnBnClickedOpen()
{
//使用CFileDialog对话框,第一个参数为TRUE时是打开对话框,为FALSE时是保存对话框
CFileDialog dlg(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, TEXT("文本文件 (*.txt)|*.txt||"));
if(dlg.DoModal() == IDOK)
{
//获得文件名
CString szFileName = dlg.GetPathName();
m_OpenPath.SetWindowText(szFileName);
//下面添加对文件的操作代码File.GetLength()
CFile File(szFileName,CFile::modeRead);
char read[10000];
CString strText;
File.Read(read,10000);
for(int i = 0;i < File.GetLength();i++)
{
strText += read[i];
}
File.Close ();
m_FileText.SetWindowText(strText);
}
}
这个程序是打开一个txt的文件,但是用VS2010程序能生成但是打开txt是乱码,怎么该程序能让其显示正常~这个是VC6.0的程序 可以把文件属性改成多字节的能调试通过,如果要改代码怎么该~ 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询