- ベストアンサー
【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 );
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>読み取り専用にしたファイルを、再度書き込み可能にするには、 >どのようにすればよいのでしょうか? ReadOnly属性の付加 atr |= FileAttributes::ReadOnly; ReadOnly属性の削除(書き込み可能にする) atr &= ~(FileAttributes::ReadOnly); ReadOnly属性を反転する atr ^= FileAttributes::ReadOnly;
その他の回答 (1)
- reset_cat
- ベストアンサー率68% (94/138)
enum classの使い方の問題でしょうか? atrにFileAttributes::ReadOnly属性を追加するのであれば、以下のコードになると思います。 atr = atr | FileAttributes::ReadOnly;
補足
早急な御回答ありがとうございます。 対象ファイルを提示して頂いた方法で読み取り専用にすることが出来ました。 重ねて質問で申し訳ないのですが、 読み取り専用にしたファイルを、再度書き込み可能にするには、 どのようにすればよいのでしょうか? 度々恐れ入りますが、ご教示お願い致します。
お礼
御回答ありがとうございます。 そのままだとなぜか「'System::IO::FileAttributes' は、この演算子または定義済の演算子に適切な型への変換の定義を行いません。」 とのエラーが出てしまうので、 atr = atr | FileAttributes::ReadOnly; のように記述することで解決しました。 ありがとうございました。