- ベストアンサー
UNICODE文字が書き込めるWriteprivateProfileStringのようなファイルに書き込む関数はないですか?
お世話になります。 VC++ MFC VisaualStidio 2003 で開発しております。 UNICODE文字が書き込めるWriteprivateProfileStringのようなファイルに書き込む関数はないでしょうか? ファイルを使用して、他EXEとやり取りしているのですが、WriteprivateProfileStringは、ANSI文字にもある文字しか使用できないみたいです。 「森鷗外𠮟る」などのUNICODEにしかない文字をファイルを経由して他EXEに渡したいのです。 よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
WritePrivateProfileStringの問題というより、iniファイルがそもそもUNICODEに対応していないということなんでしょうね。 iniファイルはユーザーからも見られるような設定ファイルを作るためには非常に便利ですが、EXE同士のやりとりだけなら、別にiniファイルでなくてもかまわないと思います。バイナリファイルで十分でしょう。 もし、ユーザーからも参照しやすい形式でやりとりしたいのであれば、XMLを使うのはどうでしょうか?MSXMLを使えば、簡単に読み書きができますよ。
その他の回答 (3)
- chie65536(@chie65535)
- ベストアンサー率44% (8740/19838)
>UNICODEにしかない文字をファイルを経由して他EXEに渡したいのです。 これは「バイナリデータをファイルで受け渡す」と言うのと同じです。 中身のバイナリデータを「UNICODEの漢字」と解釈するのは「アプリケーションのお仕事」であって、APIのお仕事ではありません。 アプリケーションが責任を持って「読み書きしたバイナリデータを、UNICODEの漢字であると解釈して、漢字として認識」しなければなりません。 ぶっちゃけ「0x00~0xFFのバイトデータの並びを、指定したバイト数分、読み書き可能な関数」であれば、何でもOKです。
- reset_cat
- ベストアンサー率68% (94/138)
「WritePrivateProfileString」は、もともと16ビット版Windowsとの互換維持のためにあるAPIなので、Unicodeは対応していないのでしょう。 Unicodeデータをファイルから読み書きする目的なら、普通にCreateFile,ReadFile,WriteFileを使った方が良いと思いますが・・・
- hidebun
- ベストアンサー率50% (92/181)
このページが参考になるのではないでしょうか。 http://takabosoft.com/20090816002525.html