2014-07-18 2 views
0

에 ostream에 저장 내가 전달 된 ostream에 쓰는 기능C++ :리스트

foo(ostream& os) 

있습니다.

이제 테스트를 쓰고 싶으므로 foo으로 작성된 모든 것을 목록에 저장하고 싶습니다.

어떻게하면 좋을까요?

+0

그럼 방법은 함수에 ofstream을 통과 출력을 파일로 작성한 다음 목록에 파일에서 읽을되었다; 하지만 그건 물론 못생긴 ... – user695652

+0

@ user695652 어떤 종류의 _list_? 'std :: list <>'실제로? –

+0

@ πάντα ῥεῖ 예 ad :: 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"); 
}