【问题标题】:String stream output compare字符串流输出比较
【发布时间】:2017-04-14 17:51:30
【问题描述】:

我想将 stringstream 的输出与一些字符串进行比较。

问题是当我在 stringstream 上使用填充和宽度时,我无法将结果字符串与预加载的字符串进行比较。

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

不相等。我有根据的猜测是宽度以某种方式使用某种标志或其他类型的指示器来替换字符串中的一堆空格。但我不确定,也没有在谷歌上找到任何有用的东西。有谁知道为什么我不能比较那个(sstream.str() 和目标字符串)?

目标是测试 stringstream(我的组件的核心)将在控制台上打印什么。

【问题讨论】:

    标签: c++ stringstream stdstring


    【解决方案1】:

    您还在字符串中插入了std::endl。这将为字符串添加一个换行符。

    从您的输出中删除std::endl

    【讨论】:

      猜你喜欢
      • 2020-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多