プログラミングメモ →目次


CStdioFileでのユニコードファイルの読み書き

 MFCのCStdioFileを使用してユニコードのファイルにアクセスする方法のメモです。

ソースは下記です

ソースコード:

    // ロケールを日本語にする
    setlocale(LC_ALL, "japanese");

    // UTF-8ファイル書き込み
    FILE* pFile1 = fopen("C:\\temp\\a.txt", "w, ccs=UTF-8");
    if (pFile1)
    {
        CStdioFile file(pFile1);
        file.WriteString(_T("あいうえお"));
        file.Close(); 
        fclose(pFile1);
    }

    // UTF-8ファイル読み込み
    FILE* pFile2 = fopen("C:\\temp\\a.txt", "r, ccs=UTF-8");
    if (pFile2)
    {
        CStdioFile file(pFile2);
        CString strText;
        file.ReadString(strText);
        TRACE(L"%s\n", strText);
        file.Close(); 
        fclose(pFile2);
    }

    // UNICODEファイル書き込み
    FILE* pFile3 = fopen("C:\\temp\\B.txt", "w, ccs=UNICODE");
    if (pFile3)
    {
        CStdioFile file(pFile3);
        file.WriteString(_T("あかさたな"));
        file.Close(); 
        fclose(pFile3);
    }

    // UNICODEファイル読み込み
    FILE* pFile4 = fopen("C:\\temp\\B.txt", "r, ccs=UNICODE");
    if (pFile4)
    {
        CStdioFile file(pFile4);
        CString strText;
        file.ReadString(strText);
        TRACE(L"%s\n", strText);
        file.Close(); 
        fclose(pFile4);
    }