我正在尝试从CListBox读取项目,并使用CFile写入文件。
这是我的代码
int count = m_lstSelectedItems.GetCount();
CFile cfile_object;
cfile_object.Open( L"C:\temp.txt", CFile::modeCreate|CFile::modeReadWrite);
for(int i=0; i<count; ++i)
{
int n;
LPTSTR s2 = new TCHAR[256];
memset(s2, 0, 256);
n = m_lstSelectedItems.GetTextLen(i);
m_lstSelectedItems.GetText(i, s2);
cfile_object.Write (s2, n);
cfile_object.Write("n",2);
delete[] s2;
}
cfile_object.Close();
但我得到了这个数据
F:ProgramsTestSelectDialo੧䘀㨀尀倀爀漀最爀愀洀猀尀吀攀猀琀尀匀攀氀攀挀琀䐀椀愀氀漀最开
获取正确数据的任何建议。
感谢
能够使用CT2CA函数解决问题
int n;
CString str;
n = m_lstSelectedItems.GetTextLen(i);
m_lstSelectedItems.GetText(i,str);
CT2CA outputString(str, CP_UTF8);
cfile_object.Write(outputString, ::strlen(outputString));
cfile_object.Write("n",1);
http://msdn.microsoft.com/en-us/library/87zae4a3(VS.80).aspx