Windows文件操作的API(CreateFile系列)

文件读写API函数 文件操作API函数详解在VC中,大多数情况对文件的操作都使用系统提供的 API 函数,但有的函数我们不是很熟悉,以下提供一些文件操作 API 函数介绍: 一般文件操作 API CreateFile 打开文件 要对文件进行读写等操作,首先必须获得文件句柄,通过该函数可以获得文件句柄,该函数是通向文件世界的大门。 ReadFile 从文件中读取字节信息。 在打开文件获得了文件句柄之后,则 阅读详情

在VC中,大多数情况对文件的操作都使用系统提供的 API 函数,但有的函数我们不是很熟悉,以下提供一些文件操作 API 函数介绍:

一般文件操作 API

CreateFile
打开文件
要对文件进行读写等操作,首先必须获得文件句柄,通过该函数可以获得文件句柄,该函数是通向文件世界的大门。

ReadFile
从文件中读取字节信息。
在打开文件获得了文件句柄之后,则可以通过该函数读取数据。

WriteFile
向文件写入字节信息。
同样可以将文件句柄传给该函数,从而实现对文件数据的写入。

CloseHandle
关闭文件句柄。
打开门之后,自然要记得关上。

GetFileTime
获取文件时间。
有三个文件时间可供获取:创建时间、最后访问时间、最后写时间。
该函数同样需要文件句柄作为入口参数。

GetFileSize
获取文件大小。
由于文件大小可以高达上数G(1G需要30位),因此一个32位的双字节类型无法对其精确表达,因此返回码表示低32位,还有一个出口参数可以传出高32位。
该函数同样需要文件句柄作为入口参数。

GetFileAttributes
获取文件属性。
可以获取文件的存档、只读、系统、隐藏等属性。
该函数只需一个文件路径作为参数。

SetFileAttributes
设置文件属性。
能获取,自然也应该能设置。
可以设置文件的存档、只读、系统、隐藏等属性。
该函数只需一个文件路径作为参数。

GetFileInformationByHandle
获取所有文件信息
该函数能够获取上面所有函数所能够获取的信息,如大小、属性等,同时还包括一些其他地方无法获取的信息,比如:文件卷标、索引和链接信息。
该函数需要文件句柄作为入口参数。

GetFullPathName
获取文件路径,该函数获取文件的完整路径名。
需要提醒的是:只有当该文件在当前目录下,结果才正确。如果要得到真正的路径。应该用GetModuleFileName函数。

CopyFile
复制文件
注意:只能复制文件,而不能复制目录

MoveFileEx
移动文件
既可以移动文件,也可以移动目录,但不能跨越盘符。(Window2000下设置移动标志可以实现跨越盘符操作)

DeleteFile
删除文件

GetTempPath
获取Windows临时目录路径

GetTempFileName
在Windows临时目录路径下创建一个唯一的临时文件

SetFilePoint
移动文件指针。
该函数用于对文件进行高级读写操作时。


文件的锁定和解锁

LockFile
UnlockFile
LockFileEx
UnlockFileEx

以上四个函数用于对文件进行锁定和解锁。这样可以实现文件的异步操作。可同时对文件的不同部分进行各自的操作。

文件的压缩和解压缩

LZOpenFile
打开压缩文件以读取

LZSeek
查找压缩文件中的一个位置

LZRead
读一个压缩文件

LZClose
关闭一个压缩文件

LZCopy
复制压缩文件并在处理过程中展开

GetExpandedName
从压缩文件中返回文件名称。

以上六个函数为32位 API 中的一个小扩展库,文件压缩扩展库中的函数。文件压缩可以用命令 compress 创建。


文件内核对象

32位 API 提供一个称为文件映像的特性,它允许将文件直接映射为一个应用的虚拟内存空间,这一技术可用于简化和加速文件访问。

CreateFileMapping
创建和命名映射

MapViewOfFile
把文件映射装载如内存

UnmapViewOfFile
释放视图并把变化写回文件

FlushViewOfFile
将视图的变化刷新写入磁盘


本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/wwwwly/archive/2009/06/08/4250895.aspx

Windows核心编程-CreateFile详解 文件内核对象各种设备及其常见用途: 设备 常见用途 文件 永久存储任何数据 目录 属性和文件压缩的设置 逻辑磁盘驱动器 格式化驱动器 物理磁盘驱动器 访问分区表 串口 通过电话线传输数据 并口 将数据传输至打印机 邮件槽 一对多数据传输,通常是通过网络传到另一台运行Windows机器上 命名管道 一对一数据传输,通常是通过网络传到 阅读详情

相关推荐

【Excel VBA 编程】文件操作API函数声明及其应用

VBA中与基础文件操作相关的API函数(CreateFile、WriteFile、CloseHandle)及典型示例

wei1019的专栏 1398

WIN API 文件操作

WIN API 文件的简单操作

weixin_45690131的博客 1523

Windows API中CreateFile文件读写操作详解与实战

/ 示例:仅允许SYSTEM和Administrators访问// ... 设置DACL省略 ...此类操作复杂,建议使用辅助函数构造SDDL字符串。分解如下:成员功能读取基本权限(如查询句柄有效性)读取文件内容获取文件属性(大小、时间等)读取扩展属性(NTFS专属)允许等待句柄变为信号状态(用于事件同步)

weixin_35516624的博客 1215

CreateFile | ReadFile | WriteFile - WINDOWS API 第五弹 C++创建任意格式的文件用于读取和写入。

Windows api系列第五弹强烈来袭,本期介绍Windows上c++有关文件创建、读取和写入的api:CreateFile、ReadFile、WriteFile。

Bobowen的博客 5956

深入解析Sigma Delta调制器 —— 从电流采样到数字信号处理的完整链路

本文深入解析了Sigma Delta调制器的工作原理与应用。通过剖析过采样、噪声整形与负反馈核心机制,并结合AMC1306等实例,详细阐述了从电流采样到数字信号处理的完整链路。该技术凭借其高精度和高抗干扰能力,在ADC、电流测量及音频处理等领域发挥着关键作用。

ttt77的博客 643

西门子1200,与V90和步科MD60第三方伺服PN通讯

需要注意的是回零方式的选择,因为V90是绝对值编码器,这里回零模式选择模式7,系统自动根据编码器反馈以及组态的机械参数,计算出轴的位置,并且掉电保持。在线访问中,找到对应的网卡,以及下面扫描到的设备,可以在线修改ip地址和profinet名称,注意一定要和组态中的完全一致。以上硬件组态上完成,主要是gsd文件导入后,添加硬件,建立连接,修改ip和profinet名称,添加报文。1- 博图V18内,设备组态,网络视图中,拖入V90以及MD60伺服,并与PLC创建连接。向厂家索要GSD文件,PN的描述文件。

weixin_37596954的博客 2463

window api 文件操作之CreateFile、ReadFile和WriteFile

​​​​​1. CreateFile   这个函数的功能是创建或者打开一个文件或者I/O设备,通常使用的I/O形式有文件、文件流、目录、物理磁盘、卷、终端流等。如执行成功,则返回文件句柄。 INVALID_HANDLE_VALUE 表示出错,会设置 GetLastError 。   函数的声明定义: HANDLE WINAPI CreateFile( _In_ LPCTSTR lpFileName, _In_ DWORD dwDesiredAccess, _In_ DWORD.

顺其自然~专栏 5375

SAP公司间外协业务流程以及配置说明

SAP公司间外协业务流程以及配置说明

竹大的博客 7169

WDM驱动程序开发之应用程序测试篇CreateFile,ReadFile,WriteFile,DeviceIoControl,CloseHandle.

 一、*****CreateFile*****    这个函数可以创建或打开一个对象的句柄,凭借此句柄就可以控制这些对象:控制台对象、通信资源对象、目录对象(只能打开)、磁盘设备对象、文件对象、邮槽对象、管道对象。    函数原型:HANDLE CreateFile(  LPCTSTR lpFileName,                         // file name对象路径名  D

5241

Opencv计算相机响应函数(Camera Response Function)与Radiance

本文主要用于记录自己在学习CRF过程中遇到的一些问题。 CRF模型 I=f(V(t⋅L))I=f(V( t\cdot L))I=f(V(t⋅L)) 其中III为相机灰度值Intensity,LLL为环境中irradiance,ttt为曝光时间,VVV为相机镜头参数,fff为相机响应函数CRF。 有些论文中认为相机镜头参数是线性的不考虑,但有些考虑了衰减即靠近图像边缘亮度会暗一些,但没有看到二者同时计算的,如果同时计算两个非线性的函数,我觉得可能会有不确定性,在这里还请教一下了解的朋友。 控制

larrydong的博客 6001

捷联惯导总结--初始对准,位置标定,INS姿态更新,GPS/INS组合

惯导及组合导航回顾  2018.09.16 今天和17系的同学一起把惯导的流程捋了一遍,为了加深自己的记忆,这里在前面把心得大致列出来。 我们这里只考虑捷联式惯导及松组合 首先拿到惯性传感器(加速度计和陀螺仪)需要对其进行标定,是为了求出零偏,比例因子,交轴耦合这些误差。这些误差有的虽然在出厂时会给出,但是考虑到实际环境不同,还是要做标定。一般采用的是六位置旋转法,针对加速度计和陀螺仪同时...

赤豆几维 5万+

CreateFile,ReadFile等API详解

CreateFile,ReadFile等API详解 一、*****CreateFile*****     这个函数可以创建或打开一个对象的句柄,凭借此句柄就可以控制这些对象: 控制台对象、通信资源对象、目录对象(只能打开)、磁盘设备对象、文件对象、邮槽对象、管道对象。     函数原型: HANDLE CreateFile( LPCTSTRlpFileName,

phenixyf的专栏 4386

指导初学者使用Anaconda运行GitHub上One - DM项目的步骤

指导初学者使用Anaconda运行GitHub上One - DM项目的步骤。

AI的内部世界的博客 1485

Windows API:文件操作

HANDLE CreateFile(      LPCTSTR lpFileName,     DWORD dwDesiredAccess,     DWORD dwShareMode,     LPSECURITY_ATTRIBUTES lpSecurityAttributes,     DWORD dwCreationDisposition,     DWORD dw

zhaohaiyang93的博客 611

智能小车避障功能的实现(cpp,ubuntu)

智能小车避障功能的实现(cpp,ubuntu)

weixin_62135607的博客 4376

基于STM32、HAL库的WF282A气压传感器 驱动程序设计

测量范围:0-2.5MPa(可根据需求选择其他量程)输出方式:I2C或SPI数字接口。温度补偿范围:-20℃~85℃。低功耗设计,适合电池供电应用。工作电压:3.3V/5V。精度:±0.1%FS。

corlin6688的博客 395

文件操作接口系列

最近碰到一些文件操作接口方面的工作,实际上Windows提供了多种接口: 1、Shell脚本系列,SHFileOperation,通过设置不同的参数实现不同的效果,支持: move、copy、delete、rename四种操作。 2、c-runtime library中包含的文件和文件夹操作接口:_mkdir、_rmdir、_cddir、 remove、rename、fopen...

weixin_30421809的博客 109

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

以前看书时记得一些笔记(一),很早了,现在再看都有些看不懂了

API: 1.DWORD ResumeThread(HANDLE hThread)        恢复线程的为可调度状态。如果函数执行成功,则返回线程前一个暂停计数,如果       则返回0xFFFFFFFF     2.DWORD SuspendThread(HANDLE hThread)        让线程暂停,即让线程为不可调度状态,如函数执行成功,则返回线程前一个暂停 ...

weixin_34054931的博客 182

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

使用C库函数写文件出错

最近在写一个服务器系统。。用于接收从客户端传来的数据。 调了好久,一直出现非常诡异的错误: fopen 异常! fwrite 异常! fclose 异常! 咋可能嘛!!!!!!! 后来换用 CreateFile WriteFile CloseHandle 就没问题了。 可是在接收INI文件时,写\n用记事本打开,会成为一个小黑点! 于是还得找原因。。!!! 近乎疯狂!! ...

weixin_30384217的博客 160

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

C++ Windows API CreateFile

C++ Windows API CreateFile简单介绍。其功能:打开文件或创建文件

m0_64240990的博客 1630

Windows API实现文件操作

下面是windows中提供的对于文件进行操作的API函数及其功能:Windows API函数 功能CloseHandle关闭一个内核对象。其中包括文件、文件映射、进程、线程、安全和同步对象等。涉及文件处理时,这个函数通常与vb的close命令相似。应尽可能的使用close,因为它支持vb的差错控制。注意这个函数使用的文件句柄与vb的文件编号是完全

日知录 1万+

Windows API应用:CreateFile,WriteFile,ReadFile

CreateFile 跟 fopen 不同,打开文件时不区分 文本方式 或 二进制 方式 ReadFile 或 WriteFile 都是对二进制数据进行操作 HANDLE WINAPI CreateFile( __in LPCTSTR lpFileName, // 文件路径 __in DWORD dwDesiredAccess

KAlbertLee 1543

Windows文件操作API

下面是windows中提供的对于文件进行操作的API函数及其功能:    Windows                  API函数           功能CloseHandle   关闭一个内核对象。其中包括文件、文件映射、进程、线程、安全和同步对象等。涉及文件处理时,这个函数通常与vb的close命令相似。应尽可能的使用close,因为它支持vb的差错控制。注意这个函数使用的文件句柄与vb

yangfcf的专栏 2121

WINDOWS API ——CREATEFILE——创建文件

原文来自:http://www.cnblogs.com/wind-net/archive/2012/11/09/2762667.html 这个函数可以创建或打开一个对象的句柄,凭借此句柄就可以控制这些对象: 控制台对象、通信资源对象、目录对象(只能打开)、磁盘设备对象、文件对象、邮槽对象、管道对象。     函数原型: 1 HANDLE CreateFile( 2

niushitang的专栏 1808
上一篇: 控制台窗口界面的编程控制(二)
下一篇: 控制台输出中文
yangfcf
博客等级 码龄19年 10粉丝 19原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值