永发信息网

使用CFile从txt文件中以char*读入字符后转换为CString后乱码

答案:2  悬赏:20  手机版
解决时间 2021-02-05 17:12
  • 提问者网友:十年饮冰
  • 2021-02-05 01:25
bool flagFileOPen = true;
CEdit *edt;
CString str;
CFile file;
while(flagFileOPen)
{
edt = (CEdit*)GetDlgItem(IDC_PATH_SRC);
edt->GetWindowTextW(str);
file.Open(str,CFile::modeRead);
if(file == NULL)
{
MessageBox(_T("打开源文件失败,请选择正确文件后重试"));
flagFileOPen = true;
}
else
{
flagFileOPen = false;
}
}
char *pBuf;
DWORD dwFileLen;
dwFileLen=file.GetLength();
pBuf=new char[dwFileLen+1];
pBuf[dwFileLen]=0;
file.Read(pBuf, dwFileLen);
file.Close();
// 将pBuf得到的内容以CString格式处理的诸多函数
flagFileOPen = true;
CString destPath = _T("");
while (flagFileOPen)
{
edt = (CEdit*)GetDlgItem(IDC_PATH_DEST);
edt->GetWindowTextW(destPath);
file.Open(destPath, CFile::modeWrite);
if(file == NULL)
{
MessageBox(_T("打开目的文件失败,请选择正确文件后重试"));
flagFileOPen = true;
}
else
{
flagFileOPen = false;
}
}
MessageBox(m_plaintextData);
file.Write(m_ciphertextData.GetBuffer(m_ciphertextData.GetLength()), m_ciphertextData.GetLength());
m_ciphertextData.ReleaseBuffer();
file.Close();

delete []pBuf;
pBuf = NULL;
最佳答案
  • 五星知识达人网友:山君与见山
  • 2021-02-05 02:44
你的工程是不是UNICODE类型的?你的字符串是ANSI类型,也就是CHAR类型,转换成WCHAR就会乱码。
全部回答
  • 1楼网友:詩光轨車
  • 2021-02-05 02:56
我这儿有,要的话发邮箱。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯