Этот код ниже не работает должным образом, так как моя программа MFC работает в Юникоде.
::WriteFile(hFile, TEXT("123456"), lstrlenW(TEXT("123456")), &dwByte, nullptr);
::CloseHandle(hFile);
Результат - «123», который должен быть «123456»
Я обнаружил в Интернете, что спецификация Unicode может решить эту проблему.
Поэтому я изменил свой код так, как показано ниже.
WORD Unicode = 0xfeff; // UNICODE BOM
::WriteFile(hFile, &Unicode, 2, &dwByte, nullptr);
::WriteFile(hFile, TEXT("123456"), lstrlenW(TEXT("123456")), &dwByte, nullptr);
::CloseHandle(hFile);
Однако, это не имеет никакого значения.
Похоже, это простая проблема, но я теряюсь в поисках решения этой проблемы.
Любая идея будет более чем приветствоваться. Заранее спасибо.