通过CreateFileA创建文件 并使用writefile将内存写入的c++代码
时间: 2023-09-11 15:08:43 浏览: 100
好的,下面是示例代码:
```c++
#include <Windows.h>
#include <iostream>
int main() {
// 创建文件
HANDLE hFile = CreateFileA(
"test.txt", // 文件名
GENERIC_WRITE, // 访问模式
0, // 共享模式
NULL, // 安全描述符
CREATE_ALWAYS, // 创建方式
FILE_ATTRIBUTE_NORMAL, // 文件属性
NULL // 模板句柄
);
if (hFile == INVALID_HANDLE_VALUE) {
std::cout << "Failed to create file." << std::endl;
return 1;
}
// 写入数据
char data[] = "Hello, world!";
DWORD bytesWritten;
BOOL result = WriteFile(
hFile, // 文件句柄
data, // 数据指针
sizeof(data), // 数据大小
&bytesWritten, // 实际写入大小
NULL // 重叠结构
);
if (!result) {
std::cout << "Failed to write file." << std::endl;
CloseHandle(hFile);
return 1;
}
// 关闭文件
CloseHandle(hFile);
return 0;
}
```
这段代码使用了 Windows API 中的 `CreateFileA` 和 `WriteFile` 函数来创建文件并写入数据。其中,`CreateFileA` 函数用于创建文件,可以指定文件名、访问模式、共享模式、安全描述符、创建方式、文件属性等参数。`WriteFile` 函数用于向文件中写入数据,可以指定文件句柄、数据指针、数据大小、实际写入大小、重叠结构等参数。在写入完成后,需要调用 `CloseHandle` 函数来关闭文件句柄。
阅读全文