gpt4 book ai didi

c++ - Winapi WriteFile函数写一个字节

转载 作者:行者123 更新时间:2023-11-27 23:56:54 26 4
gpt4 key购买 nike

我尝试向二进制文件写入一个字节,但获取失败...如何开始工作?

我的代码:

unsigned char b = 0x00; // equal to hex value = 00
/*
Error: GetLastError()
ERROR_INVALID_USER_BUFFER
1784 (0x6F8)
The supplied user buffer is not valid for the requested operation.
*/
WriteFile(file, ( char *)b, 1, &bytesWritten, NULL);

最佳答案

WriteFile 定义是

BOOL WINAPI WriteFile(
_In_ HANDLE hFile,
_In_ LPCVOID lpBuffer,
_In_ DWORD nNumberOfBytesToWrite,
_Out_opt_ LPDWORD lpNumberOfBytesWritten,
_Inout_opt_ LPOVERLAPPED lpOverlapped
);

其中 lpBuffer 是指向包含要写入的数据的缓冲区的指针。

要获得指向b 的指针,您需要一个address of。运算符 & 而不是 C-style cast到字符指针:

WriteFile(file, &b, 1, &bytesWritten, NULL);

关于c++ - Winapi WriteFile函数写一个字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42039805/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com