我是C ++的新手,当时我正忙于尝试使自己的头脑转向复杂的系统,例如指针和解决问题。我制作了这个简单的程序,它将串联char字符串。但是它总是抛出相同的错误:L'buffer is too small &&0
。
这是我的代码-
const char* str = "larry";
const char* yo{"is one of the stooges" };
size_t buffer{ std::strlen(str) + std::strlen(yo) + 1 };
std::cout << buffer;
char* buff = new char[buffer];
strcpy_s(buff,strlen(str),str);
strcat(buff,yo);
std::cout << *buff << std::endl;
delete[] buff;
这是我要求的程序输出:
27 // the size of buffer
然后程序崩溃。
请指出出什么问题了。 谢谢