掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
unicodeでテキスト出力するには? (ID:59462)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
みなさんありがとうございます。 アドバイスを参考に、次のようにつくってみました。(無理矢理な感じがしますが) CFile fout; CFileException err; fout.Open(L"\\メモリ カード\\data\\kanri.txt", CFile::modeCreate | CFile::modeWrite , &err); wchar_t wBom = 0xfffe; fout.SeekToEnd(); fout.Write(&wBom,sizeof(wBom)); obuf_t = _T("test\r\n"); wchar_t *p = new wchar_t[obuf_t.GetLength()+1]; wcscpy( p, obuf_t ); fout.SeekToEnd(); fout.Write(p, sizeof(wchar_t) * wcslen(p)); fout.Close(); delete [] p; BOMを書き込んだのですが、テキストファイルをバイナリエディタで見てみました。 0xfffe + "test\r\n" を書き込めば、 FF FE 74 00 65 00 73 00-74 00 0D 00 0A 00 となると思ったのですが、 実際は FE FF 74 00 65 00 73 00-74 00 0D 00 0A 00 になってまいす。 ^^^^^ 最初の2バイトが逆になっているんです。 wBom = 0xfffe としているんですが、何かまずいところがあるんてしょうか? ちなみに、エディタで [FE FF] -> [FF FE] に変更して、 メモ帳(文字コードUNICODE)で開くと、文字化けせずに test と表示されます。 何度もすみません。よろしくお願いします。 
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.