writeinistrw の不具合についてNo.08949
ohtorii さん 19/04/04 15:18
 
お疲れ様です。

writeinistrw関数の不具合を2つ見付けました、
ご確認をお願い致します。


//何故かファイル先頭に改行が挿入される
writeinistrw "c:\\temp\\test_w_en.ini", "foo", "bar" , "ひらがな";

//何故かshift-jisでファイルが生成される。
writeinistrw "c:/temp/test_w_sl.ini", "foo", "bar" , "ひらがな";

ソースコードと出力したiniファイルをアップしました。
https://github.com/ohtorii/test/releases/tag/20190404


【補足】
iniファイルは事前に削除しています、なので、iniファイルが残っていて問題を起こ
していることはありません。


【環境】
Windows10 64bit
秀丸エディタ v8.88 64bit

[ ]
RE:08949 writeinistrw の不具合についてNo.08950
秀丸担当 さん 19/04/04 16:37
 

バグ情報ありがとうございます。
確かにそうなることが確認できました。
空のファイルからの新しいiniファイル作成は、BOM(先頭2バイトのFF,FE)だけを
秀丸エディタで書いています。
改行を入れるのはWindowsとしてそういう動作になっているようで、そういう仕様と
いうことでお願いします。

ファイル名にスラッシュを指定してできてしまうのは知りませんでした。
ご連絡いただいた点については対策しようと思いますが、他にも至る所でパスの区切
りは「\」でしか判断していないです。
スラッシュ区切りでパスを書くと、あらゆる処理において、何が起きるかわからない
です。
すみませんが、他にもあるであろうことはサポート外として、極力使わないようにお
願いしたいところです。

[ ]
RE:08950 writeinistrw の不具合についてNo.08951
ohtorii さん 19/04/04 17:40
 
ご確認ありがとうございます。

*改行の件
実害も無いので仕様ということで分かりました。
ただ、writeinistrwのヘルプに一言記載をお願いしたいです。

*パス区切りの件
分かりました、今後は\のみ使うようにします。

/は確かWindows3.1の頃から使えたと記憶しています、こちらも、ヘルプに「ファイ
ルパスは\のみ使う」旨の記載をお願いしたいです。
場所は「目次→ファイルパスについて」とかでしょうか……お任せします。

よろしくお願いいたします。

[ ]
RE:08951 writeinistrw の不具合についてNo.08952
秀丸担当 さん 19/04/05 08:51
 

改行の件とパス区切りの件もヘルプに書いたほうがよさそうです。
追記させていただきます。

ちなみにWin32APIのCreateFileのドキュメントは、いつの間にかスラッシュもOKと書
かれていました。
LoadLibraryはスラッシュはだめと書かれていて、一貫しているわけではなさそうです。

[ ]