700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > c语言中文件的只读属性 C/C++ 文件属性设置(隐藏 只读 加密等)(示例代码)

c语言中文件的只读属性 C/C++ 文件属性设置(隐藏 只读 加密等)(示例代码)

时间:2019-05-17 02:54:09

相关推荐

c语言中文件的只读属性 C/C++  文件属性设置(隐藏 只读 加密等)(示例代码)

GetFileAttributes获取文件属性函数的返回值

返回字段

返回值

属性类型

FILE_ATTRIBUTE_READONLY

1

只读

FILE_ATTRIBUTE_HIDDEN

2

隐藏

FILE_ATTRIBUTE_SYSTEM

4

系统

FILE_ATTRIBUTE_DIRECTORY

16

目录

FILE_ATTRIBUTE_ARCHIVE

32

存档

FILE_ATTRIBUTE_DEVICE

64

保留

FILE_ATTRIBUTE_NORMAL

128

正常

FILE_ATTRIBUTE_TEMPORARY

256

临时

FILE_ATTRIBUTE_SPARSE_FILE

512

稀疏文件

FILE_ATTRIBUTE_REPARSE_POINT

1024

超链接或快捷方式

FILE_ATTRIBUTE_COMPRESSED

2048

压缩

FILE_ATTRIBUTE_OFFLINE

4096

脱机

FILE_ATTRIBUTE_NOT_CONTENT_INDEXED

8192

索引

FILE_ATTRIBUTE_ENCRYPTED

16384

加密

FILE_ATTRIBUTE_VIRTUAL

65536

虚拟

橙色标记的属性为Windows系统中文件的公有属性,其中“只读”、“隐藏”、“系统”、“存档”为文件的四种基本属性。compressed,content_indexed,encrypted只存在于NTFS分区中。

文件去掉全部属性后(四种基本属性),将自动标记为normal。同时具有system和hidden属性的文件会在系统中彻底隐形,这也是病毒常用的伎俩。

commpressed和encrypted不能共存。默认情况下文件都有content_indexed属性

2.SetFileAttributes设置文件属性函数

设置文件属性:SetFileAttributes(文件名,属性值)

SetFileAttributes(文件名,FILE_ATTRIBUTE_READONLY);//设定为只读

SetFileAttributes(文件名,FILE_ATTRIBUTE_HIDDEN);//设定为隐藏

SetFileAttributes(文件名,FILE_ATTRIBUTE_SYSTEM);//设定为系统

SetFileAttributes(文件名,FILE_ATTRIBUTE_ARCHIVE);//设定为保存

SetFileAttributes(文件名,FILE_ATTRIBUTE_NORMAL);//设定为一般(取消前四种属性)

设定二种以上的属性:

设定为只读+隐藏

SetFileAttributes(文件名,FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_HIDDEN);

设定为只读+隐藏+系统+保存

SetFileAttributes(文件名,FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_HIDDEN_

|FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_ARCHIVE);

取消所有设定

SetFileAttributes(文件名,FILE_ATTRIBUTE_NORMAL);

-成功返回1-65536 ,错误返回0;

-#include 头文件;

VC

里移动和复制文件,删除文件的方法

文件属性设置的方法

CopyFile

MoveFile

SetFileAttributes

rename

BOOLCopyFile(

LPCTSTR

lpExistingFileName

,

//nameofanexistingfile

LPCTSTR

lpNewFileName

,

//nameofnewfile

BOOL

bFailIfExists

//operationiffileexists

);

注意:

1

、文件的路径名中必须是为

\\

,而不是

\

\

是无效的,我已经试过了

2

bFailIfExists

的值为

TRUE

时,如果要复制的文件在目标文件夹下已经存

在,则复制失败。值为

FALSE,

则允许覆盖。

BOOLMoveFile(

LPCTSTR

lpExistingFileName

,

//filename

LPCTSTR

lpNewFileName

//newfilename

);

注意:

其复制的文件名和

CopyFile

也是一样的。

DeleteFile

The

DeleteFile

functiondeletesanexistingfile.

BOOLDeleteFile(

LPCTSTR

lpFileName

//filename

);

BOOLSetFileAttributes(

LPCTSTR

lpFileName

,

//filename

DWORD

dwFileAttributes

//attributes

);

注意:

dwFileAttributes

为属性设置,有如下

int

rename(

const

char

*

oldname

,

const

char

*

newname

);

oldname

newname

也是一样是文件名(包含路径),

上面三个函数的返回值如果为

0

,则说明操作失败,为非零值说明操作成功。

以上两个函数包含在

windows.h

头文件中。

例子

#include

#include

usingnamespacestd;

voidmain()

{

CopyFile("D:\\DSC00008.JPG","E:\\mv\\1.jpg",false);

MoveFile("D:\\javahe

MySQL

实例

.doc","E:\\mv\\2.doc");

SetFileAttributes("E:\\mv\\2.doc",FILE_ATTRIBUTE_HIDDEN);

rename("E:\\mv\\2.doc","E:\\mv\\javahe

MySQL

实例

.doc");

cout<

复制成功

";

}

还有

CreateFile

,在

MSDN

里可以查到。要用到的时候再去查询吧

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。