何志丹
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 写文件