首页 > 其他分享 >文件系统API

文件系统API

时间:2022-10-05 11:01:58浏览次数:70  
标签:文件 FILE 文件名 句柄 文件系统 API 为空 此参数


                                    ​​何志丹​​​

API是应用程序接口(Application Programming Interface)的简称,用API函数操作文件,主要使用以下3个函数,具体用法如表7-1所示。
表7-1与文件系统有关的常用API函数
函数名 功能 参数及返回值说明
CreateFile 新建或打开文件。建立文件只是CreateFile众多功能的一个 lpFileName:指向一个以NULL结束的字符串,该串指定了要创建、打开的文件的名字。wDesiredAccess:存取权限,0表示不能读也不能写,GENERIC_READ表示可以读,GENERIC_WRITE表示可以写。dwShareMode:共享模式,FILE_SHARE_DELETE共享删除,别的进程可以删除这个文件,FILE_SHARE_READ共享读,FILE_SHARE_WRITE共享写。lpSecurityAttributes:定义安全属性,一般不用,设为NULL。dwCreationDistribution:定义文件创建方式。CREATE_NEW,建立新文件,如果文件存在,则失败。CREATE_ALWAYS,如果文件存在,则覆盖已有文件。OPEN_EXISTING,打开文件,如果文件不存在,打开失败。OPEN_ALWAYS,如果文件存在就打开,不存就新建。TRUNCATE_EXISTING,打开并清空文件,如果文件不存在,打开文件失败。dwFlagsAndAttributes:文件属性,如只读文件,隐藏文件。hTemplateFile:指向一个模板文件的句柄。返回值:成功返回文件的句柄,失败返回INVALID_HANDLE_VALUE
ReadFile 读文件 hFile:要读的文件的句柄。lpBuffer:存放从文件中读取的内容的缓冲区。nNumberOfBytesToRead:将要读多少字节。lpNumberOfBytesRead:成功读取的字节数,Windows NT中,如果lpOverlapped为空,则此参数不能为空。Windows95和Windows98中,此参数不能为空。lpOverlapped:指向OVERLAPPED结构的指针。如果创建句柄使用了FILE_FLAG_OVERLAPPED风格,则必须此参数。返回值:成功返回TRUE,失败返回FALSE
WriteFile 写文件 hFile:进行写操作的文件的句柄。lpBuffer:接受数据的缓冲区指针。nNumberOfBytesToWrite:定义写多少字节。可以为零,为零时,只修改文件的时间。lpNumberOfBytesWritten:成功写入的字节数。在WindowsNT下,如果lpOverlapped为空,则此参数不能为空。Windows95和Windows98下,此参数不能为空。lpOverlapped:指向OVERLAPPED结构的指针。如果创建句柄使用了FILE_FLAG_OVERLAPPED风格,则必须此参数。返回值:成功返回TRUE,失败返回FALSE

文件名 简介
CopyFileCopyFileEx 复制文件
CreateDirectoryCreateDirectoryEx 创建文件夹
CreateFile 新建或打开文件
DeleteFile 删除文件
FindFirstFileFindFirstFileExFindNextFileFindClose 这3组函数配合进行文件的查找
GetCurrentDirectory 取得当前文件夹
GetFileAttributesGetFileAttributesEx 取得文件属性
GetFileSize 取得文件的大小
GetFileType 取得文件类型
GetFullPathName 函数获取文件的完整路径名,只有当该文件在当前目录下,结果才正确
GetLongPathName 将文件名转化成长文件名
GetShortPathName 将文件名转化成短文件名
GetTempFileName 取得一个临时文件名,以避免和其他临时文件重名
GetTempPath 取得临时文件夹的路径
MoveFileMoveFileEx 移动文件
ReadFileReadFileEx 读文件
RemoveDirectory 删除文件夹
SetCurrentDirectory 设置临时文件
SetFileAttributes 设置文件属性
SetFilePointer 移动文件指针
WriteFileWriteFileEx 写文件

标签:文件,FILE,文件名,句柄,文件系统,API,为空,此参数
From: https://blog.51cto.com/u_15724537/5732410

相关文章

  • 07-RabbitMQ核心API-Direct Exchange
    DirectExchange简介所有发送到directexchange的消息被转发到Routekey中指定的Queue注意:Direct模式可以使用RabbitMQ自带的Exchange(defaultexchange),所以不需......
  • 08-RabbitMQ核心API-Topic Exchange
    TopicExchange简介所有发送到TopicExchange的消息被转发到所有关心RouteKey中指定Topic的Queue上Exchange将RouteKey和某Topic进行模糊匹配,此时队列需要绑定一个T......
  • 09-RabbitMQ核心API-Fanout Exchange
    FanoutExchange简介不处理路由键,只需要简单的将队列绑定到交换机上发送到交换机的消息都会被转发到与该交换机绑定的所有队列上Fanout交换机转发消息是最快的......
  • 10-RabbitMQ核心API-其他[Binding, Queue, Message, Virtual host]
    Binding绑定关系Exchange和Exchange,Queue之间的连接关系Binding中可以包含RouteKey或者参数Queue消息队列,实际存储消息数据Durability:是否持久化,Durable......
  • 06-RabbitMQ核心API-Exchange
    Exchange流程图接收消息,并根据路由键转发消息所绑定的队列Exchange属性属性含义name交换机名称type交换机类型[direct|topic|fanout......
  • 做题记录整理图论1 P3629 [APIO2010] 巡逻(2022/10/3)
    P3629[APIO2010]巡逻写一道题顶写三道题系列,为了写这道题专门去学习了树的直径的两种求法,可以说是血赚了https://www.luogu.com.cn/blog/lscsznmhw/solution-p3629......
  • 0635-5.16.1-Hue集成HBase出现Api Error异常分析
    温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。Fayson的github:​​https://github.com/fayson/cdhproject​​提示:代码块部分可......
  • 【运维实战】3.FastDFS分布式的文件存储系统进阶API使用实践
    ​本章目录:0x00FastDFSAPI使用实践JavaPython0x01FastDFS基础命令与配置1.FastDFS客户端命令浅析2.FastDFS服务端配置浅析0x00FastDFSAPI使用实践Java描述:Fast......
  • vue面试之Composition-API响应式包装对象原理
    本文主要分以下两个部分对CompositionAPI的原理进行解读:reactiveAPI原理refAPI原理reactiveAPI原理打开源码可以找到reactive的入口,在composition-api/src/r......
  • 对组合式API的理解
    第一次试用vue3的组合式API,十分不适应。于是想知道组合式API的优点是什么,为什么vue3中要单独拎出来重点说明。下面就来探讨一下。代码的组织不管是选项式API还是组合式AP......