◀一般トップへ
  • 7787 代替ストリームの保持
    • 7788 Re:代替ストリームの保持
      • 7795 Re2:代替ストリームの保持
  • [7787] 代替ストリームの保持 もむもむ 2014年03月04日 16:30

    代替ストリームを保持したファイルをサクラエディタで編集
    すると、削除されてしまいます。
    この解決策はあるのでしょうか?

    また、解決できない場合なぜこのような現象が起きるのでしょうか?

    • [7788] Re:代替ストリームの保持 syat 2014年03月08日 23:54

      今のところ解決策はありません。
      多くのプログラムがそのような動きをするようです。

      サクラエディタはファイルの保存時に_tfopen関数の"wb"モードでファイルを開いていますが、"w"モードで開くと代替ストリームが消えてしまうようです。"a"モードで開くと代替ストリームが保持されますが、追記なので保存処理には使えません。

      どうしても代替ストリームを保持したい場合はファイルのバックアップをとってから編集し、保存後にコマンドプロンプトで
      more < foo.bak:bar > foo:bar
      のようにバックアップから再設定できます。(テキスト限定)
      • [7795] Re2:代替ストリームの保持 もむもむ 2014年03月10日 18:48

        ▼ syatさん
        > 今のところ解決策はありません。
        > 多くのプログラムがそのような動きをするようです。
        >
        > サクラエディタはファイルの保存時に_tfopen関数の"wb"モードでファイルを開いていますが、"w"モードで開くと代替ストリームが消えてしまうようです。"a"モードで開くと代替ストリームが保持されますが、追記なので保存処理には使えません。
        >
        > どうしても代替ストリームを保持したい場合はファイルのバックアップをとってから編集し、保存後にコマンドプロンプトで
        > more < foo.bak:bar > foo:bar
        > のようにバックアップから再設定できます。(テキスト限定)

        ご回答ありがとうございます。
        tfopen関数に関して無知であるため調べてみようと思います。

        解決策はなさそうですが、原因が分かりそうでうれしいです。
        ありがとうございました。