Работаю с классами. Нужно сделать конкатенацию двух char массивов с пробелом между ними. Написал вот такой код :
String String::concat(const String& other)
{
String result;
char space[3]{ " \0" };
strcat_s(result.string_, strlen(string_) + strlen(space) , string_);
strcat_s(result.string_, strlen(string_) + strlen(space), space);
strcat_s(result.string_, strlen(result.string_) + strlen(other.string_) + strlen(space), other.string_);
return result;
}
Во время первой конкатенации все идет хорошо, но вторая вызывает исключение "Buffer is too small". Когда я стараюсь исправить ошибку чистой(delete[]) массива result и переопределением его наново. В таком случае также вызывается ошибка но уже другая — "String is not null terminated".
Помогите пожалуйста.