Search code examples
c++unicodecstringcfile

How to get a CString object from a file with CFile::Read() in Unicode?


The charset is Unicode. I want to write a string of CString type into a file, and then read it out from the file afterwards. I write the string into a file with CFile::Write() method:

int nLen = strSample.GetLength()*sizeof(TCHAR);
file.Write(strSample.GetBuffer(), nLen);

Here is the question: I want to obtain the CString from the file containing the content of strSample. How can I do it?

Thank you very much!


Solution

  • UINT nBytes = (UINT)file.GetLength();
    int nChars = nBytes / sizeof(TCHAR);
    nBytes = file.Read(strSample.GetBuffer(nChars), nBytes);
    strSample.ReleaseBuffer(nChars);