我尝试连接两个字符串时出错

Bac*_*cem 3 c++

我有两个字符串,我想要将它们连接起来,所以,我使用了这个代码, char* a = "Hel"; char* b = "lo"; strcat(a,b);但是当我运行我的应用程序时它显示了这个错误Access violating writing location

Jer*_*fin 11

它们都是(ab)字符串文字 - 你不能写它们.事实上,你根本不应该使用char *a = "Hel";- 你应该使用char const *a = "Hel";,在这种情况下代码甚至不会编译.

尝试这样的事情:

std::string a = "Hel";
std::string b = "lo";

std::string c = a + b;
Run Code Online (Sandbox Code Playgroud)

strcat 在C++中(即使使用正确)充其量也是非常可疑的.