FILE *pF = _wfopen(L"123.txt",L"wt+,ccs=UTF-16LE");
fwprintf(pF,L"pljuč");
fclose(pF);
Печать в файл текста в формате Unicode
Имеется слово – pljuč, которое хранится в переменной strWordInUnicode типа CString.
(после #define _UNICODE в CString хранится текст в формате Unicode)
После того как я печатаю это слово в текстовый файл от него остается – plju, т.е. обрезается буква со шляпкой.
Вот кусок кода:
FILE *pF = _wfopen(L"123.txt", L"w");
{
fwprintf(pF ,strWordInUnicode);
}
fclose(pF);
как быть?
fwprintf(pF, L"%ls", (LPCTSTR)strWordInUnicode);
или так:
fwprintf(pF, L"%ls", strWordInUnicode.GetBuffer(5));
fwprintf(pF, strWordInUnicode);
все равно происходит обрезка символа со шляпкой, я думаю, что здесь проблема на уровне потока, т.к. если после данной функции запустить MessageBox с той же строкой то все нормально, отображается полное слово. В чем проблема?
Код: