首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

CStdioFlie有关问题

2012-06-13 
CStdioFlie问题C/C++ code/* *为啥保存ASCII都行??? *UNICODE却不行???? *难道是人品问题??? *求解决方法.

CStdioFlie问题

C/C++ code
/* *为啥保存ASCII都行??? *UNICODE却不行???? *难道是人品问题??? *求解决方法..... */void CNotepadDlg::OnSave(){    // TODO: 在此添加命令处理程序代码    CFileDialog fSave(FALSE);    fSave.m_ofn.lpstrTitle = _T("另存为");    fSave.m_ofn.lpstrFilter = _T("Text Files(*.txt)\0*.txt\0All Files(*.*)\0*.*\0\0");    fSave.m_ofn.lpstrDefExt = _T("txt");    if(fSave.DoModal() == IDOK){        CStdioFile pSave(fSave.GetPathName(), CFile::modeCreate | CFile::modeWrite);        CString strTemp;        m_edit.GetWindowText(strTemp);        pSave.WriteString(strTemp);        pSave.Close();    }}void CNotepadDlg::OnOpen(){    // TODO: 在此添加命令处理程序代码    CFileDialog fOpen(TRUE);    fOpen.m_ofn.lpstrTitle = _T("打开");    fOpen.m_ofn.lpstrFilter = _T("Test Files(*.txt)\0*.txt\0All Files(*.*)\0*.*\0\0");    fOpen.m_ofn.lpstrDefExt = _T("txt");    if(fOpen.DoModal() == IDOK){        CStdioFile pOpen(fOpen.GetPathName(), CFile::modeRead);        CString strTemp;        pOpen.ReadString(strTemp);        m_edit.SetWindowText(strTemp);        pOpen.Close();    }}


[解决办法]
CStdioFile pOpen(fOpen.GetPathName(), CFile::modeRead|CFile::typeBinary);
[解决办法]
用CFile,不用CStdioFile

CFile pSave(fSave.GetPathName(), CFile::modeCreate | CFile::modeWrite);
CString strTemp(_T("World!你好!Hello, World"));
pSave.Write(strTemp, strTemp.GetLength() * sizeof(TCHAR));
pSave.Close();

热点排行