将空格和单字符串附加到字符串

时间:2015-07-03 14:33:29

标签: c++ string append

我遇到了一个看似简单的问题,但我无法让它发挥作用。我使用标准的C ++函数append()来添加一个空格," ",和另一个单字符串(str2)到另一个字符串(str1)的末尾

当我只追加一个或另一个时,我的代码完全正常,即:

str1.append(" ");

或:

str1.append(str2);

然而,当我尝试将两者连续追加时:

str1.append(" ");
str1.append(str2);

我立即收到分段错误。我很困惑它如何处理一个附加,但不是两个!有没有人看到解决方法?

提前致谢!

1 个答案:

答案 0 :(得分:-3)

所以原来str2实际上是我作为一个字符串存储的双倍,它应该仍然有效。但是由于某些原因,即使它是一个字符串,C ++也不会使用它。所以我使用stod(str2)将str2切换回double,然后在串联时再次返回到字符串:

str2=stod("stuff");
str1.append(to_string(str2));

不知道为什么这个有效,而另一种方法没有(两个方法都将字符串输入到append()),但是它有效!