当前位置:首页 科普知识 WriteFile

WriteFile

发布时间:2023-09-06 21:59:53

WriteFile是一个函数,可以将数据写入一个文件或者I/O设备。该函数比fwrite函数要灵活的多,也可将这个函数应用于对通信设备、管道、套接字以及邮槽的处理。

WriteFile详细介绍

WriteFile是一个函数,可以将数据写入一个文件或者I/O设备。该函数比fwrite函数要灵活的多,也可将这个函数应用于对通信设备、管道、套接字以及邮槽的处理。

WriteFile

WriteFileVB声明

Declare Function WriteFile Lib "kernel32" Alias "WriteFile" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToWrite As Long, lpNumberOfBytesWritten As Long, lpOverlapped As OVERLAPPED) As Long

WriteFilevb返回值

Long,TRUE(非零)表示成功,否则返回零。会设置GetLastError

WriteFile参数表

参数 类型及说明

hFile Long,一个文件的句柄

lpBuffer Any,参数类型:指针,指向将写入文件的 数据缓冲区

nNumberOfBytesToWrite Long,要写入数据的字节数量。如写入零字节,表示什么都不写入,但会更新文件的“上一次修改时间”。针对位于远程系统的命名管道,限制在65535个字节以内

lpNumberOfBytesWritten Long,实际写入文件的字节数量(此变量是用来返回的 )

lpOverlapped OVERLAPPED,倘若在指定FILE_FLAG_OVERLAPPED的前提下打开文件,这个参数就必须引用一个特殊的结构。那个结构定义了一次异步写操作。否则,该参数应置为空(将声明变为ByVal As Long,并传递零值)

WriteFile

WriteFile注解

并不是每种操作系统都支持在任何类型的设备上进行异步操作。windows 95不支持对磁盘文件的重叠读取操作

WriteFileVC声明

BOOL WriteFile(HANDLE  hFile,//文件句柄LPCVOID lpBuffer,//数据缓存区指针DWORD   nNumberOfBytesToWrite,//你要写的字节数LPDWORD lpNumberOfBytesWritten,//用于保存实际写入字节数的存储区域的指针LPOVERLAPPED lpOverlapped//OVERLAPPED结构体指针);

WriteFile功能说明

从文件指针指向的位置开始将数据写入到一个文件中, 且支持同步和异步操作,

如果文件打开方式没有指明FILE_FLAG_OVERLAPPED的话,当程序调用成功时,它将实际写入文件的字节数保存到lpNumberOfBytesWriten指明的地址空间中

如果文件要交互使用的话,当函数调用完毕时要记得调整文件指针

参数说明

HANDLE hFile, 需要写入数据的文件指针,这个指针指向的文件必须是GENERIC_WRITE access 访问属性的文件

LPOVERLAPPED lpOverlapped OVERLAPPED结构体指针,如果文件是以FILE_FLAG_OVERLAPPED方式打开的话,那么这个指针就不能为NULL

vc返回值

WriteFile

调用成功,返回非0

调用不成功,返回为0

用例:

DWORDdev_write(LPCVOIDbuf,DWORDNumBytes)//写数据 { DWORDwriteaddr=0; if(handle!=INVALID_HANDLE_VALUE) { WriteFile(handle,buf,NumBytes,&writeaddr,NULL); } returnwriteaddr;}

温馨提示:
本文【WriteFile】由作者 爱百科 转载提供。 该文观点仅代表作者本人, 自学教育网 信息发布平台,仅提供信息存储空间服务, 若存在侵权问题,请及时联系管理员或作者进行删除。
(c)2008-2025 自学教育网 All Rights Reserved 汕头市灵创科技有限公司
粤ICP备2024240640号-6