用WriteString写入文本文件TXT

在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文件中可以显示英文,但是不能显示中文!

我想要达到的结果

想要什么格式都可以显示!

文本文件用Unicode格式打开


此外,我还从CSDN技能树中找了一些相关资料给你, 你可以学习下:

用记事本打开


//加入这些可以解决问题
#include <locale>


//对于简体中文可以使用如下设置
setlocale( LC_CTYPE, ("chs"));