简体   繁体   English

LPTSTR + CFile写入问题

[英]LPTSTR + CFile Write issue

I am trying to read items from CListBox and writing to a file using CFile. 我试图从CListBox读取项目并使用CFile写入文件。

Here is my code 这是我的代码

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();

But I am getting this data 但是我正在获取这些数据

 F:\Programs\Test\SelectDialo੧䘀㨀尀倀爀漀最爀愀洀猀尀吀攀猀琀尀匀攀氀攀挀琀䐀椀愀氀漀最开

Any suggestions to get correct data. 任何获取正确数据的建议。

Thanks 谢谢

Able to solve it using CT2CA function 能够使用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 http://msdn.microsoft.com/zh-CN/library/87zae4a3(VS.80).aspx

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM