我有两个std::stringstream
:ss1
和ss2
,它们是两个不同的函数的参数,这些函数用数据填充了它们。
我想检查这些功能是否写入相同的内容。如何测试两个std::stringstream
的相等性?
alg1.print(ss1);
alg2.print(ss2);
if(ss1 != ss2) {
cout << "Content not identical!" << endl;
}
不起作用。将它们都转换为
str()
是可行的,但这似乎无效。一定会有更好的办法? 最佳答案
我认为这样做的唯一方法是使用.str()方法:
if (ss1.str() != ss2.str()) {
cout << "Content not identical!" << endl;
}
我不确定这是否特别快,但是除非您处于嵌入式环境中,或者您每秒要检查数百万次比较,这无关紧要。