在MFC中,如何将Unicode的CString中文字符用WriteString写入文本文件TXT中
相关代码如下:
void CMFCApplication1Dlg::OnBnClickedButtonSave()
{
// TODO: 在此添加控件通知处理程序代码
CFileDialog fDlg(FALSE,L".txt",L"save",OFN_OVERWRITEPROMPT,L"文本文档(*.txt)|*.txt|保存的数据(*.dat)|*.dat|所有文件(*.*)|*.*||",NULL);
if (fDlg.DoModal()==IDOK)
{
CString sPath = fDlg.GetPathName();
//MessageBox(sPath);
//创建文件对象
CStdioFile file(sPath,CFile::modeWrite|CFile::modeCreate);
CString cs;
GetDlgItemText(IDC_EDIT1,cs);
//MessageBox(cs);
//TCHAR* p = cs.getBuffer(cs.getLength());
//TCHAR* p = (LPTSTR)(LPCTSTR)cs;
//MessageBox(cs);
//写入操作
file.WriteString(cs);
//file.Write(cs,8);
file.Close();
}
}
运行结果及报错内容
.txt文件中可以显示英文,但是不能显示中文!
我想要达到的结果
想要什么格式都可以显示!