我正在尝试使用 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 操作。