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