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           //查找句柄
            );

Win32中文件的操作的更多相关文章

  1. OC中文件的操作

    OC中文件操作,在之前的文章中,已经接触到了文件的创建了,但是那不是很具体和详细,这篇文章我们就来仔细看一下OC中是如何操作文件的: 第一.首先来看一下本身NSString类给我们提供了哪些可以操作文 ...

  2. Perl中文件读取操作

    Perl中文件读取操作 http://blog.csdn.net/yangxuan12580/article/details/51506216

  3. loadrunner中文件的操作

    loadrunner中文件的操作 我们可以使用fopen().fscanf().fprintf().fclose()函数进行文件操作,但是因为LoadRunner不支持FILE数据类型,所以我们需要做 ...

  4. Python中文件的操作

    文件的操作介绍 文件打开的方法 主要有两种: no with 格式:open(file, mode='r', buffering=-1, encoding=None, errors=None, new ...

  5. (C/C++学习)2.C语言中文件流操作基本函数总结

    函数所在头文件:stdio.h 说明:前半部分主要为对各个文件流操作函数的例举,后半部分着重于上机运行分析.文中部分引用自王桂林老师的C/C++课件. 1.FIELE *fopen(const cha ...

  6. c语言中文件相关操作

    一 .首先介绍一下数据文件的类型: 1.二进制文件(映像文件):在内存中以二进制形式存取. 2.文本文件(ascii文件):以ascii码形式存取的文件. 通俗的讲,在Mac下,你把一个文件丢进记事本 ...

  7. C++中文件流操作

    一.C++中流和流操作符 C++中把数据之间的传输操作称为流,流既可以表示数据从内存传送到某个载体或设备中,即输出流,也可以表示数据从某个载体或设备传送到内存缓冲区变量中,即输入流.C++输入输出除了 ...

  8. c语言中文件的操作

    所谓“文件”是指一组相关数据的有序集合.这个数据集有一个名称,叫做文件名.实际上在前面的各章中我们已经多次使用了文件,例如源程序文件.目标文件.可执行文件.库文件 (头文件)等. 文件通常是驻留在外部 ...

  9. Win32中目录的操作

    1 系统和当前目录 1.1 获取Windows目录 UINT GetWindowsDirectory( LPTSTR lpBuffer, //BUFF的地址  UINT uSize    //BUFF ...

随机推荐

  1. js 的执行过程

    step 1.  读入第一个代码块. step 2.  做语法分析,有错则报语法错误(比如括号不匹配等),并跳转到step5. step 3.  对var变量和function定义做"预编译 ...

  2. 译文:如何使用SocketAsyncEventArgs类(How to use the SocketAsyncEventArgs class)

      转载自: http://blog.csdn.net/hulihui/article/details/3244520 原文:How to use the SocketAsyncEventArgs c ...

  3. Sql操作表字段

    1.增加字段     alter table docdsp     add dspcodechar(200)2.删除字段     ALTER TABLE table_NAME DROP COLUMNc ...

  4. Android简单例子——IpHone样式AlertDialog

    此例子源于网络,下载下来之后,自己加了写注释,作为总结,发到博客中,谢谢原作者 通过这个例子学到的东西 1.自定义对话框的使用 2.程序中使用颜色如何进行存放,增加复用性 3.加深线性布局.常用控件的 ...

  5. AngularJS track by $index引起的思考

    今天写了一段程序,只是一个简答的table数据绑定,但是绑定select的数据之后,发现ng-change事件失去了效果,不知道什么原因. 主要用到的代码如下: <div id="ri ...

  6. 『重构--改善既有代码的设计』读书笔记---Duplicate Observed Data

    当MVC出现的时候,极大的推动了Model与View分离的潮流.然而对于一些已存在的老系统或者没有维护好的系统,你都会看到当前存在大把的巨大类----将Model,View,Controller都写在 ...

  7. (三)跟我一起玩Linux网络服务:DHCP服务配置之主服务器配置

    我们今天来做DHCP服务器的配置,我们的前提示要实现用一台虚拟机做DHCP服务器 1.首先,我们要有DHCP软件,我们用到下面两个软件(可以使用其他方法从网上直接安装,具体方法网络搜索) dhcp-3 ...

  8. oracle删除用户所有表

    在删除数据表的时候往往遇到外键约束无法删除的情况,我们可以通过以下几步将数据库表删除,建议在删除库之前先对数据库进行备份,养成良好习惯. 1.删除外键 --查询用户所有表的外键,owner条件为use ...

  9. LVS原理详解及部署之二:LVS原理详解(3种工作方式8种调度算法)

    一.集群简介 什么是集群 计算机集群简称集群是一种计算机系统,它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作.在某种意义上,他们可以被看作是一 台计算机.集群系统中的单个计 ...

  10. PHP实现中文字串截取无乱码的方法

    直接使用PHP函数substr截取中文字符可能会出现乱码,主要是substr可能硬生生的将一个中文字符“锯”成两半.解决办法: 1.使用mbstring扩展库的mb_substr截取就不会出现乱码了. ...