附加两个字符时的分段错误 - C++

Met*_*ark 1 c++ linux append segmentation-fault chars

我试图附加两个字符但由于某种原因我得到了一个分段错误.

我的代码就像;

#include <string.h>
char *one = (char*)("one");
char *two = (char*)("two");

strcat(one, two);
Run Code Online (Sandbox Code Playgroud)

而且我似乎遇到了分段错误strcat(one, two),为什么会这样?

AK_*_*AK_ 5

http://www.cplusplus.com/reference/clibrary/cstring/strcat/

strcat的第一个参数必须足够大才能保存结果字符串

尝试:

//assuming a,b are char*
char* sum = new char[strlen(a) +strlen(b)+1];
strcpy(sum,a);
strcat(sum,b);
Run Code Online (Sandbox Code Playgroud)