【发布时间】:2015-11-19 18:40:29
【问题描述】:
我正在尝试使用 ifstream 和 Procmon 分析基本读取操作。
用于读取操作的部分代码,我试图从文件中读取 16kb 大小的数据:
char * buffer = new char[128000];
ifstream fileHandle("file.txt");
fileHandle.read(buffer, 16000);
cout << buffer << endl;
fileHandle.close();
在 Procmon 中有 4 个 ReadFile 操作,详细信息如下:
偏移量:0,长度:4,096,优先级:正常
偏移:4,096,长度:4,096
偏移:8,192,长度:4,096
偏移:12,288,长度:4,096
这是否意味着每个 4kb 大小有 4 个操作?如果是这样,为什么会发生这种情况,而不是只有一个 16 kb 大小的 ReadFile 操作。
【问题讨论】: