WindowsAPI函数 CreateFile打开文件、ReadFile读取文件、WriteFile写入文件

#define MAX_PATH 260
CreateFile打开文件

HANDLE CreateFile(LPCTSTR lpFileName, //普通文件名或者设备文件名
DWORD dwDesiredAccess, //访问模式(写/读)
DWORD dwShareMode, //共享模式
LPSECURITY_ATTRIBUTES lpSecurityAttributes, //指向安全属性的指针
DWORD dwCreationDisposition, //如何创建
DWORD dwFlagsAndAttributes, //文件属性
HANDLE hTemplateFile //用于复制文件句柄
);

返回值:
HANDLE 这个类型定义 #typedef void *HANDLE
INVALID_HANDLE_VALUE 表示出错,会设置GetLastError()的值
如果操作成功,如果设置了属性CREATE_ALWAYS或OPEN_ALWAYS则,设置GetLastError()值为ERROR_ALWAYS_EXITS

参数列表说明:
1.LPCTSTR lpFileName文件名
2.DWORD dwDesiredAccess 设置访问方式
如下:
GENERIC_WRITE 只写
GENERIC_READ只读
如果值为0时,则表示只能获得设备的属性,不可以读写

3.DWORD dwShareMode, //共享模式
0 表示不共享文件
FILE_SHARE_READ 打开文件后只有读权限
FILE_SHARE_WRITE 打开文件后只有写权限
FILE_SHARE_DELETE 打开文件后只有删除权限

4.LPSECURITY_ATTRIBUTES lpSecurityAttributes, //指向安全属性的指针
设置NULL,这个参数基本已经废弃了
5.DWORD dwCreationDisposition, //如何创建
CREATE_NEW 创建文件;如文件存在则会出错
CREATE_ALWAYS 创建文件,会改写前一个文件
OPEN_EXISTING 文件必须已经存在。由设备提出要求
OPEN_ALWAYS 如文件不存在则创建它
TRUNCATE_EXISTING 将现有文件缩短为零长度

6.DWORD dwFlagsAndAttributes, //文件属性
通常都使用默认属性FILE_ATTRIBUTE_NORMAL
FILE_ATTRIBUTE_ARCHIVE 标记归档属性
FILE_ATTRIBUTE_COMPRESSED 将文件标记为已压缩,或者标记为文件在目录中的默认压缩方式
FILE_ATTRIBUTE_NORMAL 默认属性
FILE_ATTRIBUTE_HIDDEN 隐藏文件或目录
FILE_ATTRIBUTE_READONLY 文件为只读
FILE_ATTRIBUTE_SYSTEM 文件为系统文件
FILE_FLAG_WRITE_THROUGH 操作系统不得推迟对文件的写操作
FILE_FLAG_OVERLAPPED 允许对文件进行重叠操作
FILE_FLAG_NO_BUFFERING 禁止对文件进行缓冲处理。文件只能写入磁盘卷的扇区块
FILE_FLAG_RANDOM_ACCESS 针对随机访问对文件缓冲进行优化
FILE_FLAG_SEQUENTIAL_SCAN 针对连续访问对文件缓冲进行优化
FILE_FLAG_DELETE_ON_CLOSE 关闭了上一次打开的句柄后,将文件删除。特别适合临时文件

7.HANDLE hTemplateFile //用于复制文件句柄
hTemplateFile为一个文件或设备句柄,表示按这个参数给出的句柄为模板创建文件(就是将该句柄文件拷贝到lpFileName指定的路径,

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值