所以这样做很诱人:
char buf[1024] = "this is";
std::sprintf(buf, "%s test", buf);
但这是未定义的行为。我想可以通过临时解决:
char buf[1024] = "this is";
std::sprintf(buf, "%s test", std::string(buf).c_str());
这种方法的缺点是什么?
答案 0 :(得分:5)
要将字符串附加到char数组,请使用strcat:
char buf[1024] = "this is";
std::strcat(buf, " test");