我想寫一個簡單的istream
對象,這將簡單地轉換另一個istream
。我想只實現readline
(它會從原始流中讀取一行,處理它並返回處理後的行),並且有一些通用代碼,它們將使用我的讀取行,緩存它,並且提供所需的字節數作爲輸出。實現簡單的輸入流
有沒有什麼課程可以讓我做到這一點?
例如
struct mystream : istreamByReadLine {
istream& s;
mystream(istream& _s):s(_s){}
virtual string getline() {
string line;
getline(s,line);
f(line);
return line;
}
}
class istreamByReadLine : istream {
... // implementing everything needed to be istream compatible, using my
... // getline() virtual method
}
我想給我的流到接收'istream'的其他函數。 – 2011-04-13 10:57:59
在這種情況下,您必須使用'istream'。如果這些其他程序應該看到過濾的數據,那麼您需要一個過濾streambuf;如果他們應該看到原始數據,那麼使用「Line」的解決方案更好。 – 2011-04-13 12:24:43