简介:
从文件指针指向的位置开始将数据写入到一个文件中, 且支持同步和异步操作。
如果文件打开方式没有指明 FILE_FLAG_OVERLAPPED,当程序调用成功时,它将实际写入文件的字节数保存到 lpNumberOfBytesWriten 指明的地址空间中。
如果文件要交互使用的话,当函数调用完毕时要记得调整文件指针。
声明:
BOOL WriteFile(
HANDLE hFile,
LPCVOID lpBuffer,
DWORD nNumberOfBytesToWrite,
LPDWORD lpNumberOfBytesWritten,
LPOVERLAPPED lpOverlapped
);
复制代码
参数说明:
hFile:需要写入数据的已打开的文件句柄,这个句柄所关联的文件必须拥有 GENERIC_WRITE 访问权限属性的文件;
lpBuffer:要写入到文件的缓冲区首地址;
nNumberOfBytesToWrite:要写入数据的字节数量。如写入零字节,表示什么都不写入,但会更新文件的“上一次修改时间”;
lpNumberOfBytesWritten:实际写入文件的字节数量,此变量是用来返回的 ;
lpOverlapped:倘若在指定 FILE_FLAG_OVERLAPPED 标志的前提下打开文件,指针不能为空,这个参数就必须引用一个特殊的结构。那个结构定义了一次异步写操作。否则,该参数应置为空;
返回值:
函数执行成功,返回TRUE,否则返回FALSE,更多错误信息还请调用 GetLastError 获取错误码。