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