2014-07-18 24 views
0

存儲的ostream我有一個函數C++:在列表

foo(ostream& os) 

其寫入ostream傳遞給它。

我現在想寫一個測試,因此想要將foo所寫的內容存儲到列表中。

這是乾淨的方式嗎?

+0

嘛我沒有辦法這是一個ofstream的傳遞給函數,輸出寫入到一個文件,然後從文件到列表讀取;但那當然是醜陋的...... – user695652

+0

@ user695652哪種_list_? 'std :: list <>'實際上? –

+0

@πάνταῥεῖyes std :: list – user695652

回答

2

填充有std::ostringstream實例名單:

#include <sstream> 
#include <cassert> 

void foo(std::ostream& out) { out << "test1"; } // example implementation 

void test_foo() 
{ 
    std::ostringstream buffer; 
    foo(buffer); 
    assert(buffer.str() == "test1"); 
}