• ベストアンサー

【C++/CLI】XMLファイルに対して読み取り属性を付与する方法

VC++2005の.NET、言語はC++/CLIにて、 既存のXMLファイルに対して読み取り属性を付与し、 ユーザーが編集をできないようにしたいのですが、 下記コードにて実行したところ、期待動作をさせることが出来ません。 おそらくどこかが明らかに間違っていると思うのですが、 何が原因か分かりません。 解決法をご存知の方おられましたら、ご教示お願いできませんでしょうか? String^ path = "C:\\test.xml"; FileAttributes atr = File::GetAttributes( path ); atr & FileAttributes::ReadOnly; File::SetAttributes( path, atr );

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

>読み取り専用にしたファイルを、再度書き込み可能にするには、 >どのようにすればよいのでしょうか? ReadOnly属性の付加 atr |= FileAttributes::ReadOnly; ReadOnly属性の削除(書き込み可能にする) atr &= ~(FileAttributes::ReadOnly); ReadOnly属性を反転する atr ^= FileAttributes::ReadOnly;

zigen8513
質問者

お礼

御回答ありがとうございます。 そのままだとなぜか「'System::IO::FileAttributes' は、この演算子または定義済の演算子に適切な型への変換の定義を行いません。」 とのエラーが出てしまうので、 atr = atr | FileAttributes::ReadOnly; のように記述することで解決しました。 ありがとうございました。

その他の回答 (1)

  • reset_cat
  • ベストアンサー率68% (94/138)
回答No.1

enum classの使い方の問題でしょうか? atrにFileAttributes::ReadOnly属性を追加するのであれば、以下のコードになると思います。 atr = atr | FileAttributes::ReadOnly;

zigen8513
質問者

補足

早急な御回答ありがとうございます。 対象ファイルを提示して頂いた方法で読み取り専用にすることが出来ました。 重ねて質問で申し訳ないのですが、 読み取り専用にしたファイルを、再度書き込み可能にするには、 どのようにすればよいのでしょうか? 度々恐れ入りますが、ご教示お願い致します。

関連するQ&A

専門家に質問してみよう