大大大西瓜嘞 2023-07-07 11:34 采纳率: 33.3%
浏览 24
已结题

C++拼接字符串但输出与其值不相同

在c++中,我通过+对字符串进行了拼接,然后cout输出这个字符串的时候我使用cout<<str+"helloworld";但是输出的结果不是应该输出的结果,str丢失了,但是我通过cout<<str<<"helloworld";输出确实正常的,我想问这种情况是什么原因?(偶然事件,但是出现几率不是0)

  • 写回答

3条回答 默认 最新

  • 0x0007 2023-07-07 11:48
    关注

    首先,std::cout 不支持 std::string 作为右操作数。需要转换为 const char* 即:str.c_str(),所以,代码应如下:

        std::string str = "foo";
        str += " bar";
        std::cout << str.c_str() << std::endl;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 7月21日
  • 已采纳回答 7月13日
  • 修改了问题 7月7日
  • 创建了问题 7月7日