社区
C++ 语言
帖子详情
如何设置文件夹为只读模式?
wq425101
2007-09-21 04:21:05
如何用C++实现把一个文件夹设置为只读模式,锁住这个文件夹,等我用完后在删除它。以防止在使用过程中,文件夹被其他程序删除掉?
...全文
4667
6
打赏
收藏
如何设置文件夹为只读模式?
如何用C++实现把一个文件夹设置为只读模式,锁住这个文件夹,等我用完后在删除它。以防止在使用过程中,文件夹被其他程序删除掉?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
KenYuan2016
2007-09-21
打赏
举报
回复
vc 中 CFILE 类有这样的功能,你看看源代码
CFile类用来处理正常文件的I/O操作,它直接供无缓冲的、二进制磁盘输入/输出服务,并且通过其派生类间接支持文本文件和内存文件。因为CFile类是基本上封装在CArchive类之中了,所以我们只对这个类作简单介绍。
CFile类有三个构造函数,其原型如图所示。
virtual BOOL Open( LPCTSTR lpszFileName, UINT nOpenFlags,
CFileException* pError = NULL )
其中:hFile为一个已打开文件的句柄。LpszFileName指定所想要文件的路径的字符串。路径可以是相对的或绝对的。NOpenFlags指共享和存取方式,对于这个标志的说明,我们留到后面专门说明。
CFile类用Open来创建和打开文件。使用Open创建新文件,必须有一个文件名,并且选择一定的打开方式:
CFile对磁盘文件的定点读和写是通过函数Read ,Write和Seek进行的。
virtual UINT Read( void* lpBuf, UINT nCount );
virtual void Write( const void* lpBuf, UINT nCount );
virtual LONG Seek( LONG lOff, UINT nFrom );
函数Read:返回传输给缓冲区的字节数。如果读到文件尾,返回值可能小于nCount 值。LpBuf:指向用户定义的缓冲区的指针,用来接收数据;nCount:要从文件中读出的最大字节数;函数Write:写缓冲区数据到文件中;Seek用于定位文件指针位置,如果所请求的位置合法,则返回距离文件头的新字节偏移。
文件的打开和关闭是相对的,打开一个文件之后,必须把它关闭,文件的关闭是相当简单的,用CFile对象调用Close函数即可。
下面描述文件共享和存取标志。下列标志指定打开文件时可执行的动作。可以用OR来组合下面所列的选项。一个存取许可和一个共享选项是必需的;modeCreate 和modeNoInberit方式是可选的。
modeCreate指示构造函数创建一个新文件,如果该文件已存在,则该文件截短为0。
modeRead 打开文件用于读。
modeReadWrite 打开文件用于读写。
modeWrite 打开文件用于只写。
modeNoInberit 阻止文件被子进程继承。
shareDenyNone 打开文件,不允许其它进程读或写该文件。如果该文件已由其它任何进程用兼容方式打开,则Create将失败。
shareDenyWrite 打开文件,不允许其它进程写该文件。如果该文件已由其它任何进程用兼容方式或写方式打开,则Create将失败。
shareDenyRead 打开文件,不允许其它进程读该文件。如果该文件已由其它任何进程用兼容方式或读方式打开,则Create将失败。
shareExclusive 以独占方式打开文件,不允许其它进程写该文件。如果该文件已用其它读或写方式打开,即使是当前进程打开,则构造也将失败。
shareCompat 以兼容方式打开文件,允许给定机器上任何进程打开该文件任意次。如果该文件已用其它任何共享方式打开,构造将失败。
typeText 设置文本方式,对回车换行进行特殊处理,它只用于派生类。
typeBinary 设置二进制方式,它只用于派生类。
KenYuan2016
2007-09-21
打赏
举报
回复
以独占方式打开该文件
arong1234
2007-09-21
打赏
举报
回复
在NTFS中,应该用ACE控制
arong1234
2007-09-21
打赏
举报
回复
似乎永远显示为只读,不要care这个,没啥用处得
wq425101
2007-09-21
打赏
举报
回复
DWORD dwAttrs=GetFileAttributes(file.c_str());
if (dwAttrs==INVALID_FILE_ATTRIBUTES) return 0;
if (!(dwAttrs & FILE_ATTRIBUTE_READONLY))
{
SetFileAttributes(file.c_str(),
dwAttrs | FILE_ATTRIBUTE_READONLY);
}
我把文改成只读了,可怎么不只读取消掉啊。
if (!(dwAttrs & FILE_ATTRIBUTE_NORMAL))
{
SetFileAttributes(file.c_str(),
dwAttrs | FILE_ATTRIBUTE_NORMAL);
}
这么做不对啊,改不会来,为什么
arong1234
2007-09-21
打赏
举报
回复
似乎缺省就是只读的,但是这阻止不了你删除它
批量去除文件
只读
属性(小工具)
批量去除文件
只读
属性的工具
文件夹
怎么开启
只读
模式
?电脑
文件夹
开启
只读
模式
的方法
在“普通用户权限
设置
”中,我们可以根据自己的需求,为每个用户
设置
不同的用户名、密码,以及访问权限,如
只读
权限、读写权限、完全权限,还支持自定义选择权限组合,同时还可以为访问用户
设置
文件夹
的使用次数和...
MYSQL组复制(MGR)深入解析05
只读
事务不需要组内协调,可以立即提交。 目前国内大量企业使用MGR技术,代表性的企业是京东。 通过本课程的学习,您会掌握以下的内容: 01 MYSQL组复制(MGR)相比其他高可用架构的优势。02 MYSQL组复制(MGR)单主...
怎么取消
只读
模式
?硬盘进入
只读
模式
怎么办?
相信很多小伙伴都遇到过磁盘里面的数据无法改动的情况。不用担心,其实这是您的磁盘进入了
只读
模式
。那怎么取消
只读
模式
?下文下边先给介绍3个解决办法,需要的小伙伴可以继续阅读。
为什么有时优盘是
只读
模式
_u盘
只读
设置
怎么弄? u盘
只读
设置
使用方法
为什么u盘要
设置
成
只读
模式
?现在互联网时代,很多人都在使用u盘存储东西,可是现在到处的都是系统病毒,这时就有想到了给U盘保护,这时U盘的
只读
模式
变的重要起来了。这个
模式
可以避免被不相干的人把自己有用信息的...
C++ 语言
64,646
社区成员
250,476
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章