2016-11-30 25 views
1

stringstreamの出力を文字列と比較したいと思います。文字列出力の出力比較

問題は、stringstreamにfillとwidthを使用すると、結果の文字列とプリロードされた文字列を比較できません。

std::stringstream sstr; 
sstr.fill(' '); 
sstr.width(4); 
sstr << 4 << std::endl; 
if(" 4" == sstr.str()){ 
std::cout << "Equal" << std::endl; 
} 

これは同じではありません。私の知る限りの推測では、文字列の空白を置き換えるために、何らかの種類のフラグや他の種類のインジケータを使用することになります。しかし、私は確信していないとグーグルで有用な何かを見つけることができませんでした。誰も私がそれ(sstream.str()とターゲット文字列)を比較できない理由を知っていますか?

目標は、ストリングストリーム(私のコンポーネントの中心)がコンソール上で何を印刷するかをテストすることです。

答えて

4

また、文字列にstd::endlを挿入しました。文字列に改行文字を追加します。

出力からstd::endlを削除します。