| ■No5182に返信(Mmさんの記事)
Mmさん、こんにちは、Sahmaro です。
> これらから、HsnLog.txtは UCS-2+UTF-16 littleEndian BOM付と思いますが、合っているでしょうか?。
そのとおりです。 Visual Studio 2010 を使っていますが、プログラム内は UNICODE (UTF-16) 文字セット設定で使用しています。 ただ、昔は Shift-JIS でログファイルを出力していたため旧 Pchusen が作成した Shift-JIS のログファイルも読み込んで追記した後に UTF-16 で出力します。 正確には、PcHusen が使用している標準の Edit Window がサロゲートペアに対応していないためサロゲートペア文字コードで書き込まれると表示が化けてしまいます。 そのためプログラム上は UTF-16 に対応できているものの UCS-2 までしか使えない状況です。 (単に標準の Edit Window がサロゲートペアに対応してもらえばサロゲートペア文字も表示可能です。Vista から OS がサロゲートペアに対応しているのですからライブラリも対応して欲しいものです。)
> ただ、疑問なのは、HsnLog.txtに上のエディタで変更を加えた後、付箋をはがしてログに保存すると今までのHsnLog.txtが、HsnLog1.txtにリネームされ新たなHsnLog.txtが出来ることです。さらにHsnLog.txtを変更すると2,3,4・・・と増えていきます。
プログラム上は、ログファイルが大きくなると見にくくなるため 32KB を超えると別のログファイルにする実装にしています。 もし、32KB に満たないうちにログファイルができ続けるのであればバグだと思いますので差し支えなければログファイルを送付していただけると助かります。
|