ユニコード(UTF-16 LE)のテキストエンコーディングを保存します

1.バイナリモードでファイル、書き込みヘッドBOMを開きます。

FILE* pFile = nullptr;
_wfopen_s(&pFile, szLogFilePath, L"wb");
// UTF-16 LE BOM : FFFE
unsigned char bom[] = { 0xFF, 0xFE };
if (pFile)
{
    fwrite(bom, sizeof(unsigned char), sizeof(bom), pFile);
    fclose(pFile);
}

2.に書き込み、Unicodeとしてファイルを開きます。

FILE* pFile = nullptr;
wchar_t name[] = L"‎中國哲學書電子化計劃";
_wfopen_s(&pFile, L"C:\\TEMP\\ChineseLetters.txt", L"a,ccs=UNICODE");
if (pFile)
{
    fwrite(name, sizeof(wchar_t), sizeof(name), pFile);
    fclose(pFile);
}

参考資料

  1. C-テキストファイル文句を言わない - セーブ・イン・ユニコード - それは-続け省・イン・ANSI
  2. fopenの-S-wfopen-S
  3. テキストファイルのエンコーディングを確認する方法

おすすめ

転載: www.cnblogs.com/lkpp/p/save_text_unicode.html