c++ readfile函数如何设置读取模式

avatar
作者
筋斗云
阅读量:0

在C++中,ReadFile函数是Windows API的一部分,用于从文件中读取数据。默认情况下,ReadFile以二进制模式读取文件。如果您想以文本模式读取文件,需要使用其他函数,如 CreateFileReadFile 结合使用。

以下是一个使用 CreateFileReadFile 以文本模式读取文件的示例:

#include <iostream> #include <windows.h> #include <vector>  int main() {     HANDLE hFile = CreateFile("example.txt", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);     if (hFile == INVALID_HANDLE_VALUE) {         std::cerr << "Error opening file: " << GetLastError() << std::endl;         return 1;     }      std::vector<char> buffer(4096);     DWORD bytesRead;     BOOL result;      do {         result = ReadFile(hFile, &buffer[0], buffer.size(), &bytesRead, NULL);         if (!result) {             std::cerr << "Error reading file: " << GetLastError() << std::endl;             break;         }          if (bytesRead == 0) {             // End of file reached             break;         }          // Convert the data to a string and print it         std::string text(buffer.begin(), buffer.begin() + bytesRead);         std::cout << text << std::endl;     } while (result);      CloseHandle(hFile);     return 0; } 

在这个示例中,我们首先使用 CreateFile 函数以文本模式打开文件。然后,我们使用 ReadFile 函数分块读取文件内容,并将其存储在 std::vector<char> 缓冲区中。最后,我们将读取到的数据转换为字符串并输出。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!