【发布时间】:2016-10-12 07:50:45
【问题描述】:
如何在 C 中结束字符串?我做了一个函数来连接2个字符串并制作一个。我读到我应该用 '\0' 结束字符串,但是如何用这样的声明来做到这一点?
char* string1= "House";
char* string2= "is big";
【问题讨论】:
如何在 C 中结束字符串?我做了一个函数来连接2个字符串并制作一个。我读到我应该用 '\0' 结束字符串,但是如何用这样的声明来做到这一点?
char* string1= "House";
char* string2= "is big";
【问题讨论】:
创建一个足以容纳两个字符串和一个终止符的数组。将第一个字符串复制到数组中。使用strcat 连接另一个字符串。
【讨论】:
试试这个方法
char* concat(const char *s1, const char *s2)
{
char *result = malloc(strlen(s1)+strlen(s2)+1);
strcpy(result, s1);
strcat(result, s2);
return result;
}
【讨论】:
malloc的返回内存进行类型转换
void* 不会在旧版 C 中得到提升。