プロが教えるわが家の防犯対策術!

お世話になります。

VC++ MFC VisaualStidio 2003 で開発しております。

UNICODE文字が書き込めるWriteprivateProfileStringのようなファイルに書き込む関数はないでしょうか?

ファイルを使用して、他EXEとやり取りしているのですが、WriteprivateProfileStringは、ANSI文字にもある文字しか使用できないみたいです。

「森?外

A 回答 (4件)

WritePrivateProfileStringの問題というより、iniファイルがそもそもUNICODEに対応していないということなんでしょうね。



iniファイルはユーザーからも見られるような設定ファイルを作るためには非常に便利ですが、EXE同士のやりとりだけなら、別にiniファイルでなくてもかまわないと思います。バイナリファイルで十分でしょう。

もし、ユーザーからも参照しやすい形式でやりとりしたいのであれば、XMLを使うのはどうでしょうか?MSXMLを使えば、簡単に読み書きができますよ。
    • good
    • 0

>UNICODEにしかない文字をファイルを経由して他EXEに渡したいのです。



これは「バイナリデータをファイルで受け渡す」と言うのと同じです。

中身のバイナリデータを「UNICODEの漢字」と解釈するのは「アプリケーションのお仕事」であって、APIのお仕事ではありません。

アプリケーションが責任を持って「読み書きしたバイナリデータを、UNICODEの漢字であると解釈して、漢字として認識」しなければなりません。

ぶっちゃけ「0x00~0xFFのバイトデータの並びを、指定したバイト数分、読み書き可能な関数」であれば、何でもOKです。
    • good
    • 0

「WritePrivateProfileString」は、もともと16ビット版Windowsとの互換維持のためにあるAPIなので、Unicodeは対応していないのでしょう。



Unicodeデータをファイルから読み書きする目的なら、普通にCreateFile,ReadFile,WriteFileを使った方が良いと思いますが・・・
    • good
    • 0

このページが参考になるのではないでしょうか。


http://takabosoft.com/20090816002525.html

参考URL:http://takabosoft.com/20090816002525.html
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!