函数名 | 功能 | 参数及返回值说明 |
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 |
3.与文件系统有关的API函数简介
除了上述3个API函数,还有许多API函数与文件系统有关,具体如表7-2所示。
表7-2与文件系统有关的API函数
文件名 | 简介 |
CopyFile CopyFileEx | 复制文件 |
CreateDirectory CreateDirectoryEx | 创建文件夹 |
CreateFile | 新建或打开文件 |
DeleteFile | 删除文件 |
FindFirstFile FindFirstFileEx FindNextFile FindClose | 这3组函数配合进行文件的查找 |
取得当前文件夹 | |
GetFileAttributes GetFileAttributesEx | 取得文件属性 |
取得文件的大小 | |
取得文件类型 | |
GetFullPathName | 函数获取文件的完整路径名,只有当该文件在当前目录下,结果才正确 |
GetLongPathName | 将文件名转化成长文件名 |
GetShortPathName | 将文件名转化成短文件名 |
GetTempFileName | 取得一个临时文件名,以避免和其他临时文件重名 |
GetTempPath | 取得临时文件夹的路径 |
MoveFile MoveFileEx | 移动文件 |
ReadFile ReadFileEx | 读文件 |
删除文件夹 | |
SetCurrentDirectory | 设置临时文件 |
SetFileAttributes | 设置文件属性 |
SetFilePointer | 移动文件指针 |
WriteFile WriteFileEx | 写文件 |