1 文件的创建或打开
  HANDLE CreateFile( LPCTSTR lpFileName,                //文件路径和名称
            DWORD dwDesiredAccess,                 //访问方式,最常用的值是GENERIC_READ,GENERIC_WRITE或两         个:GENERIC_READ|GENERIC_WRITE.
            DWORD dwShareMode,                   //共享模式,FILE_SHARE_DELETE,FILE_SHARE_READ,FILE_SHARE_WRITE
            LPSECURITY_ATTRIBUTES lpSecurityAttributes,      //安全属性,不同身份是否能打开
            DWORD dwCreationDisposition,             //创建方式
            DWORD dwFlagsAndAttributes,           //文件属性,只读或隐藏
            HANDLE hTemplateFile                 //拷贝的文件句柄

            );

2 文件的关闭
  BOOL CloseHandle(HANDLE hObject );        //要关闭的句柄

3 文件的数据写入
  BOOL WriteFile( HANDLE hFile,               //文件句柄
           LPCVOID lpBuffer,             //写入数据的BUFF的地址
           DWORD nNumberOfBytesToWrite,    //写入数据的BUFF的长度
           LPDWORD lpNumberOfBytesWritten,    //返回被写入数据的长度
           LPOVERLAPPED lpOverlapped        //默认NULL

          );

4 文件的数据读取
  BOOL ReadFile( HANDLE hFile,               // 文件句柄
          LPVOID lpBuffer,               //读入数据的BUFF的地址
          DWORD nNumberOfBytesToRead,     //读入数据的BUFF的长度
          LPDWORD lpNumberOfBytesRead,      //返回被读入数据的长度
          LPOVERLAPPED lpOverlapped        //默认NULL

          );

5 获取文件长度
  DWORD GetFileSize( HANDLE hFile,            //文件的句柄
              LPDWORD lpFileSizeHigh        //高32位

            );                   //返回值是低32位
  文件的长度64位 = (低32位, 高32位 )

6 设置文件指针
  DWORD SetFilePointer( HANDLE hFile,             //文件的句柄
              LONG lDistanceToMove,        //偏移量,低32位
              PLONG lpDistanceToMoveHigh,      //偏移量,高
              DWORD dwMoveMethod       //相对位置,FILE_BEGIN,FILE_CURRENT,FILE_END

             );
   返回值是返回偏移量的低32

7 拷贝文件
  BOOL CopyFile( LPCTSTR lpExistingFileName,        //源文件路径
            LPCTSTR lpNewFileName,           //目的文件路径
          BOOL bFailIfExists             //是否覆盖目的同名文件,FALSE为覆盖

          );

8 删除文件
  BOOL DeleteFile(LPCTSTR lpFileName );          //要删除的文件

9 文件的属性
  9.1 GetFileAttributes
    DWORD GetFileAttributes(LPCTSTR lpFileName );      //文件名
     返回值是获取到的文件的属性标示

   9.2 GetFileAttributesEx
    BOOL GetFileAttributesEx(LPCTSTR lpFileName,                //文件名
                  GET_FILEEX_INFO_LEVELS fInfoLevelId,      //获取文件属性信息的级别
                  LPVOID lpFileInformation               //对应级别的数据结构的地址
                  );
   9.3 设置文件属性
    BOOL SetFileAttributes( LPCTSTR lpFileName,                 //文件名 pointer to filename
                 DWORD dwFileAttributes                //属性标示

                 );

10 文件的查找

  1 查找文件

    HANDLE FindFirstFile( LPCTSTR lpFileName,                    //查找的路径
                LPWIN32_FIND_DATA lpFindFileData             //返回查找信息
                 );
      返回值 - 查找句柄
  2 获取查找到的结果
    BOOL FindNextFile( HANDLE hFindFile,                 //查找句柄
              LPWIN32_FIND_DATA lpFindFileData       //返回查找信息
             );
     返回值 - 成功是TRUE
  3 关闭查找
    BOOL FindClose( HANDLE hFindFile           //查找句柄
            );

转载于:https://www.cnblogs.com/zjzsky/p/3475262.html

Win32中文件的操作相关推荐

  1. java中的文件_JAVA中文件的操作

    在java中,对文件(例如图片)进行操作,包括上传.修改.删除 一,文件上传 1.文件传到哪里,不仅可以保存在数据库中,也可以上传到远程服务器,文件保存的是文件的路径 2.文件上传都需要做什么?写那些 ...

  2. python36_第36 p,就这几个方法,Python中文件的操作

    大家好,我是杨数Tos,这是<从零基础到大神>系列课程的第X篇文章,第二阶段的课程:Python基础知识:Python中文件的操作(下篇). 学习本课程,建议先看一遍:[计算机基础知识]课 ...

  3. php中文件读写总结,PHP中文件读写操作

    PHP中文件读写操作 PHP中提供了一系列的I/O函数,能简捷地实现我们所需要的功能,包括文件系统操作和目录操作(如"复制[copy]").下面给大家介绍的是基本的文件读写操作:( ...

  4. 文件操作函数java_java中文件的操作

    前言:java的读写操作是学java开发的必经之路,Java.io包中包括许多类提供许多有关文件的各个方面操作.下面就来总结下java的读写操作. 主要内容如下 1.字节流与字符流的区别 2.文件操作 ...

  5. java中文件的操作讲解

    1.基本概念的理解 绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如: C:\xyz\test.txt 代表了test.txt文件的绝对路径.http://ww ...

  6. C、C++和MFC中文件的操作

    对文件读写的三种方法   1.C中     FILE *pFile=fopen("1.txt","w"); fwrite(" http://www.s ...

  7. Python中文件的操作

    1.文件的基本操作 文件打开的格式: file = open(文件路径,读写模式) 文件路径:可以写相对路径,也可以写绝对路径 读写模式:r(读取) w(写入) a(追加) 文件打开后,必须关闭,否则 ...

  8. python中文件读取操作及注意事项

    我们想要读一些文件,那么可以使用read()函数.readline()函数.或者readlines()函数. 其中read()函数可以一次性读取文件中所有的内容,也可以设置read(100),也就是一 ...

  9. Windows 8 Metro中文件的操作及访问(读写删除复制)

    1.首先创建一个文件夹,在文件夹里创建文件 private async void CreateButton_Click(object sender, RoutedEventArgs e) { stri ...

最新文章

  1. NetLink Communication Mechanism And Netlink Sourcecode Analysis
  2. 计算属性|| 计算属性与方法的区别:计算属性是基于它们的依赖进行缓存的 ;方法不存在缓存||侦听器
  3. Python 技术篇-socket套接字实现两个窗口间消息传递实例演示,TCP实现
  4. 博物馆自动灭火系统应如何选择
  5. struts2的bean标签和set标签
  6. tpcc mysql下载_tpcc-mysql 试用
  7. Jsoup根据URL加载一个Document
  8. devc运行不出窗口_足不出户“云出庭”?沾化“智慧检务”让法律监督“不打烊...
  9. python数据库mysql_python数据库(mysql)操作
  10. greenplum 单表 数据扫描
  11. 2017软件构造3.3
  12. Android平板查看网卡mac,如何看电脑网卡和手机mac地址
  13. ETF定投的均线偏离策略分析
  14. Lua二进制chunk
  15. OpenCV官方教程中文版
  16. android 浏览器隐藏地址,移动端隐藏手机浏览器的地址栏一下底部的菜单栏
  17. ZooKeeper之zoo.cfg配置
  18. 汽车衡称重系统作弊疯狂? “一部”解决
  19. 乌拉姆距离(Ulam)
  20. OJ题目:一元二次方程

热门文章

  1. Oracle触发器3-DDL触发器
  2. 怎样彻底删除系统服务项
  3. python filter函数_第九篇:Python中lambda、filter和map函数
  4. linux乱码临时怎么解决方案,(收集)linux环境下乱码的解决方法
  5. 保存多序列tiff文件_解码TIFF文件
  6. Nginx 500错误总结
  7. oracle中创建表的自增ID
  8. Android Studio 3.4升级后的运行问题解决办法
  9. Android开发笔记(四十一)Service的生命周期
  10. [译]技术之外,工作之内,非常实际有用的技巧--如何宣布坏消息?