猿问
将stdout / stderr重定向到字符串
以前有很多关于将stdout / stderr重定向到文件的问题。有没有一种方法可以将stdout / stderr重定向到字符串?
慕尼黑的夜晚无繁华
浏览 1038
回答 3
3回答
蝴蝶不菲
是的,您可以将其重定向到std::stringstream:std::stringstream buffer;std::streambuf * old = std::cout.rdbuf(buffer.rdbuf());std::cout << "Bla" << std::endl;std::string text = buffer.str(); // text will now contain "Bla\n"您可以使用简单的防护类来确保始终重置缓冲区:struct cout_redirect { cout_redirect( std::streambuf * new_buffer ) : old( std::cout.rdbuf( new_buffer ) ) { } ~cout_redirect( ) { std::cout.rdbuf( old ); }private: std::streambuf * old;};
0
0
0
随时随地看视频
慕课网APP
相关分类
C++
typedef入门问题
1 回答
C
typedef入门问题
1 回答
我要回答