【问题标题】:How to Remove the Readonly attribute of a File MFC如何删除文件 MFC 的只读属性
【发布时间】:2011-12-16 08:50:36
【问题描述】:

在我的 MFC 应用程序中,我在特定文件上设置了只读属性。 我通过使用SetFileAttributes() 函数完成了这项工作。 在某些时候,我必须再次删除该文件的该属性。

谁能解释一下如何做到这一点?

【问题讨论】:

  • 你不只是 GetFileAttributes,再次屏蔽标志(标志 &=~READ_ONLY)和 SetFileAttributes 吗?
  • 感谢您的评论...但不清楚...请您解释一下(如果您不介意一个例子会更有帮助)
  • 我认为这与您一开始将其设置为只读的做法没有太大区别!但很高兴看到 Serge 帮助了你 - 你应该点击他的答案旁边的勾号,因为它解决了你的问题。
  • @Rup 抱歉,我对此类活动不太熟悉...感谢有用的评论

标签: c++ winapi mfc


【解决方案1】:

再次使用 SetFileAttributes 重置标志:

SetFileAttributes( pszFilename,  
                   GetFileAttributes(pszFilename) & ~FILE_ATTRIBUTE_READONLY);

【讨论】:

  • GetFileAttributes() 可能会返回许多其他 SetFileAttributes() 函数无法理解的标志,这安全吗?那些额外的标志会被忽略吗?
  • 第二次调用有错字,文件不是文件:)
  • @paulm:随意修复它。这就是为什么 SO 是一个 wiki 的原因!好的,做到了。
  • 我很乐意,但它说更改 1 个字符是不够的,并且不会接受编辑。
猜你喜欢
  • 2010-10-27
  • 2018-04-19
  • 1970-01-01
  • 2011-01-30
  • 1970-01-01
  • 2010-09-20
  • 1970-01-01
  • 2011-10-09
相关资源
最近更新 更多