CreateFileW后如何对文件的读写,用中文
时间: 2024-01-21 20:19:15 浏览: 156
adb: CreateFileW 'nul' failed: 系统找不到指定的文件,studio连接不上手机-附件资源
可以使用以下函数进行文件的读写:
1. ReadFile函数:用于从文件中读取数据。
2. WriteFile函数:用于向文件中写入数据。
这两个函数的使用方法类似,都需要指定文件句柄、缓冲区大小、读写的字节数等参数。其中,文件句柄是CreateFileW函数的返回值,缓冲区可以使用BYTE类型的数组来存储数据。
示例代码如下:
```c++
HANDLE hFile = CreateFileW(L"D:\\test.txt", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if (hFile == INVALID_HANDLE_VALUE) {
// 文件打开失败
return;
}
BYTE buffer[1024] = {0};
DWORD dwBytesRead = 0;
if (!ReadFile(hFile, buffer, 1024, &dwBytesRead, NULL)) {
// 读取文件失败
CloseHandle(hFile);
return;
}
// 在缓冲区中修改数据
DWORD dwBytesWritten = 0;
if (!WriteFile(hFile, buffer, dwBytesRead, &dwBytesWritten, NULL)) {
// 写入文件失败
CloseHandle(hFile);
return;
}
CloseHandle(hFile);
```
以上代码中,首先使用CreateFileW函数打开名为test.txt的文件,并获取到文件句柄hFile。然后使用ReadFile函数读取文件中的数据,并存储到缓冲区buffer中。接着可以对缓冲区中的数据进行修改。最后使用WriteFile函数将修改后的数据写回文件中。最后使用CloseHandle函数关闭文件句柄。
阅读全文