简介:
从文件指针指向的位置开始将数据写入到一个文件中, 且支持同步和异步操作。
如果文件打开方式没有指明 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 获取错误码。

最后修改:2022 年 12 月 05 日
如果觉得我的文章对你有用,请随意赞赏