[問題] Unicode環境下讀取unicode文件
小弟我MFC環境設定的字源集必須是:使用Unicode字源集
讀取的檔案是unicode
(如果讀的是ANSI,字源集不是設定Unicode就顯示正常)
程式想要讀取:<value>要顯示的字</value>
把Static Texe改成 "要顯示的字"然後用MessageBox顯示出來
結果Static Texe沒改,訊息也沒跑出來
以下是我寫的,請問該改哪裡才對呢?
void CMy123Dlg::OnBnClickedOk()
{
CStdioFile stf;
CString strLine;
CString strTitle, strData;
stf.Open(_T("abc.txt"), CFile::modeRead);
while(stf.ReadString(strLine))
{
if(strLine.Find(_T("<value>")) >= 0){
strData = strLine.Mid(strLine.Find(_T("<value>"))+7,
strLine.GetLength()-strLine.Find(_T("<value>"))-15);
if(strData!=""){
SetDlgItemText(IDC_PAY_ACCOUNT, strData);
MessageBox(strData, _T("訊息"), MB_ICONASTERISK | MB_OK);
}
}
}
stf.Close();
}
感謝!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.248.105.178
※ 編輯: corn911090 來自: 60.248.105.178 (03/09 10:23)
推
03/09 12:11, , 1F
03/09 12:11, 1F
→
03/09 12:11, , 2F
03/09 12:11, 2F
→
03/09 13:10, , 3F
03/09 13:10, 3F
如果我在strData = (................一長串) 的下一行加了..
DWORD dwNum = MultiByteToWideChar (CP_ACP, 0, strData, -1, NULL, 0);
wchar_t *pwText;
pwText = new wchar_t[dwNum];
if(!pwText)
{
dlete []pwText;
}
MultiByteToWideChar (CP_ACP, 0, strData, -1, pwText, dwNum);
delete []pwText;
在MultiByteToWideChar那兩行會跑出
[無法將參數 3 從 'CString' 轉換成 'LPCSTR']
請問要怎麼改呢?
※ 編輯: corn911090 來自: 60.248.105.178 (03/09 14:50)
推
03/09 15:38, , 4F
03/09 15:38, 4F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章