| 问题 如何将 char* 连接或复制在一起?
 
 复制代码char* totalLine;
const char* line1 = "hello";
const char* line2 = "world";
strcpy(totalLine,line1);
strcat(totalLine,line2);
此代码产生错误!
 
 分段故障
 
 我想我需要为toline分配内存?
 
 另一个问题是,下面是复制内存还是复制数据?
 
 复制代码char* totalLine;
const char* line1 = "hello";
 totalLine = line1;
提前致谢! :)
 
 回答
 是的,你猜对了。 totalLine 是一个未初始化的指针,因此这些 strcpy 调用试图写入内存中的某个随机位置。
 
 幸运的是,当您标记 C++ 时,您无需为此烦恼。只需这样做:
 
 复制代码#include <string>
std::string line1 = "hello";
std::string line2 = "world";
std::string totalLine = line1 + line2;
不需要内存管理。
 
 我认为您的意思是“是复制了底层字符串,还是只是一个指针?”。如果是这样,请使用指针。
 
 
 
 
 |