C++ 在字符串末尾追加空格和一个单词字符串

C++ 在字符串末尾追加空格和一个单词字符串,c++,string,append,C++,String,Append,我遇到了一个看似简单的问题,但我就是无法解决。我使用标准的C++函数追加,将一个空间,以及另一个单词字符串STR2添加到另一个字符串STR1的结尾。 当我只附加一个或另一个时,我的代码工作得非常好,即: str1.append(" "); 或: 但是,当我尝试在一行中附加这两个内容时: str1.append(" "); str1.append(str2); 我立即得到一个分割错误。我很困惑它如何处理一个附加,而不是两个!有人看到附近有工作吗 提前谢谢 所以最初str2实际上是一个doubl

我遇到了一个看似简单的问题,但我就是无法解决。我使用标准的C++函数追加,将一个空间,以及另一个单词字符串STR2添加到另一个字符串STR1

的结尾。 当我只附加一个或另一个时,我的代码工作得非常好,即:

str1.append(" ");
或:

但是,当我尝试在一行中附加这两个内容时:

str1.append(" ");
str1.append(str2);
我立即得到一个分割错误。我很困惑它如何处理一个附加,而不是两个!有人看到附近有工作吗


提前谢谢

所以最初str2实际上是一个double,我将其存储为字符串,它应该仍然可以工作。但是,由于某些原因,C++是不使用它的,即使它是字符串。因此,我使用stodstr2将str2切换回double,然后在串联时再次切换回字符串:

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

不知道为什么这样做有效,而另一种方法不是两个方法都在append中输入字符串,但是它有效

.您的程序比两行大得多。我敢打赌,当你发布的行被执行时,str1和/或stri2要么无效,要么已损坏。请发布一个。这不是答案。更改良性代码行时突然生效的代码表示内存损坏。所以你真的什么都没修好。您以前遇到的任何bug都很可能转移到应用程序的另一部分。我建议您将代码更改回原来的方式,并实际修复问题。请参见此示例:您看到我得到一个runitme错误。现在看看这个例子:没有运行时错误。现在让我们假设我的应用程序要大得多,我使用的代码足够多,在没有实际修复实际问题的情况下不会出现运行时错误,在本例中,这将是访问删除的指针。这就是为什么你的答案是无效的-它没有描述你的解决方案工作的实际原因,因此它不是一个解决方案。
str2=stod("stuff");
str1.append(to_string(str2));