如何读取具有ReadFile函数的大文件
How to read a big file with ReadFile function
我有一个大文件(500MB),我知道如何使用ReadFile函数读取此文件
,但我想阅读100MB的100MB
我的意思是我想在while循环中读取文件,在第一个循环中,我读取了第一个100MB文件,第二次阅读第二个100MB(从101到200),...
例如我有一个包含abdcefghijklmnopqrstuvwxyz
的文件,现在我想首先阅读abcd
,然后阅读efgh
,然后阅读ijkl
,然后读...
感谢您的帮助
据我了解,您想通过块读取文件?
简而言之是逻辑是:
get the size of the file or read till ReadFile return error
while (a chunk larger than zero could be read)
{
write chunk to output
}
换句话说:最简单的方法是首先获得文件大小:
HANDLE hFile = CreateFile("c:\myFile", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL);
DWORD dwFileSize = GetFileSize(hFile, NULL);
现在定义您的循环。读取最多1024个字节的块。当然,您可以使用较大的缓冲区。
BYTE buffer[1024];
while(read is less than remain ) {
ReadFile(hFile, buffer, sizeof(buffer), &dwRead, NULL)
// append what you just read to some global buffer
}
在Google中搜索"块中读取文件",您会发现大量示例。
相关文章:
- "error: no matching function for call to"构造函数错误
- 什么时候调用组成单元对象的析构函数
- 继承函数的重载解析
- 为什么随机数生成器不在void函数中随机化数字,而在main函数中随机化
- C++模板来检查友元函数的存在
- 递归函数计算序列中的平方和(并输出过程)
- 对RValue对象调用的LValue ref限定成员函数
- C++17复制构造函数,在std::unordereded_map上进行深度复制
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 在C++STL中是否有Polyval(Matlab函数)等价物?
- 如何读取具有ReadFile函数的大文件
- 通过ReadFile()函数阅读文件时检查文件末端
- visual在C++中使用ReadFIle()函数时无法从文件中读取
- 在C++函数 WriteFile 和 ReadFile 中用于参数 LPVOID lpBuffer 的变量类型
- 对ReadFile函数的异步调用返回6个错误代码
- 如何使用ASSIMP的ReadFile函数加载多个模型
- 设备驱动程序:Windows ReadFile函数超时
- 匿名管道的ReadFile函数
- 我如何改变文本是通过ReadFile函数读取
- 为什么在使用ReadFile()函数时会出现访问冲突?