Win32中文件的操作

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

上一篇:objective-c 强大的布尔类型


下一篇:IIS 反向代理 golang web开发