WriteFile function C++
WriteFile function C++
我正在尝试使用WriteFile函数。我一直在研究这个例子
http://msdn.microsoft.com/en-us/library/ms900134.aspx
这里,传递给WriteFile的缓冲区是由ReadFile填充的。但我不想那样做。我只想写一个类似"ExampletexttestingWriteFile"之类的字符串。但我不确定这些参数应该有什么值。我试着在谷歌上到处找,但什么也找不到。有人知道我是怎么做的吗?
来自MSDN:
BOOL WINAPI WriteFile(
__in HANDLE hFile,
__in LPCVOID lpBuffer,
__in DWORD nNumberOfBytesToWrite,
__out_opt LPDWORD lpNumberOfBytesWritten,
__inout_opt LPOVERLAPPED lpOverlapped
);
- 第一个参数是文件的句柄
- 第二个参数是指向要写入的数据的指针。在你的情况下,它是字符串
- 第三个参数是要写入的数据的长度。在您的情况下,它将类似于
strlen(str)
- 第四个参数是指向
DWORD
变量的指针,该变量将接收实际写入的字节数 - 第五个也是最后一个参数目前可以为NULL
你这样使用它:
char str[] = "Example text testing WriteFile";
DWORD bytesWritten;
WriteFile(fileHandle, str, strlen(str), &bytesWritten, NULL);
如果WriteFile
返回FALSE
,则存在错误。使用GetLastError
函数查找错误代码。
编写字符串的一个简单示例:
(这里的hOutFile
是调用CreateFile
的打开文件句柄):
{
DWORD dwBytesWritten = 0;
char Str[] = "Example text testing WriteFile";
WriteFile( hOutFile, Str, strlen(Str), &dwBytesWritten, NULL );
}
编辑:查看MSDN函数定义中的每个参数的作用。
相关文章:
- "error: no matching function for call to"构造函数错误
- 调用专用模板时出错"no matching function for call to [...]"
- 库函数需要一个 std::function<void(void)>,如何传入类函数?
- Confusion: decltype vs std::function
- 为什么 std::function 可以作为 std::not2 的参数?
- 'max'匹配'std::function<const int &(const int &, const int &)>'无过载
- 传递给std::function template的template参数究竟代表什么
- 将带有unique_ptr的可变 lambda 传递给 const&std::function
- 绑定派生类方法C++从实例范围之外的分隔 std::function 变量调用
- "no matching function for call to 'Vector::Vector'"错误
- 如何在向量中删除 std::function<void()>?
- 不断"Attempting to reference a deleted function"
- 将函数包装器转换为 std::function
- 类型擦除的std::function与虚拟函数调用的开销
- C++ std::function 对于类 exept 的所有实例都是空的(只有 Visual2019 编译器问题)
- 如果模板没有可变参数,则 Lambda 被推导出为 std::function
- 我在 ifstream input_file(文件名)行中收到错误"no matching function to call";
- 模板规范获取'Ambiguous call to overloaded function'
- 将 lambda 表达式传递给 std::function in C++
- 为什么当我在 std::string 中打开文件名的 fstream 时出现"no matching function"错误?