3
说我这样做(一个人为的例子):如何发现/控制C++ fstream中内部缓冲的级别?
#include <iostream>
#include <fstream>
using namespace std;
int main(int argc, char* argv[])
{
ifstream ifs(argv[1]);
char ch;
while(ifs.read(&ch, 1)) {
cout << ch;
}
}
我假设(希望)iostream库在这里做了一些内部缓冲,不会把它变成一个在字节的文件读取操作的gazillions OS级别。
有没有一种方式:
一)找出ifstream的内部缓冲区的大小?
b)更改ifstream内部缓冲区的大小?
我正在写一个文件过滤器,需要以小块读取多GB的文件,并且我想尝试使用不同的缓冲区大小来查看它是否会影响性能。
在调用pubsetbug中使用'sizeof(myBuffer)'会更好吗? – 2008-12-09 02:39:42