char* CreateString(char* string1, char* string2) {
int length = strlen(string1) + strlen(string2);
// Allocate memory for the resulting string
char* result = malloc((length) * sizeof(char));
// Concatenate the two strings
strcpy_s(result, sizeof result, string1);
strcat_s(result,sizeof result, string2);
return result;
}
我有一个简单的代码,我想做的就是把它们加在一起,但是每当我使用strcpy_s或strcat_s时,它在picture中给出这个错误,但是如果我使用CRT库,它就可以工作。
另一个问题是我正确地使用了指针吗?我是这个主题的新手,它很混乱,所以我不是很理解它。
我试着把两个句子加在一起
1条答案
按热度按时间zzwlnbp81#
1.字符串的结尾需要空终止字符。因此缓冲区太短。
sizeof result
给出指针的大小,而不是被引用对象的大小。