char stringToAdd[4097] = "";
// some manipulations on stringToAdd to add some value to it.
if(stringToAdd[0] != '\0') {
response = MethodCalledHere("Some Random text");
}
MethodCalledHere(const String& inputParameter) {
// some method definition here.
}
我已将stringToAdd添加到"一些随机文本"。像 -
这样的东西response = MethodCalledHere("Some Random text" + stringToAdd);
但这给了我错误 ' +'无法添加两个指针。
有什么建议吗?
答案 0 :(得分:2)
但是这给了我'+'不能添加两个指针的错误。
那是因为在这种情况下,+
运算符的两边都是指针。
使用
response = MethodCalledHere(std::string("Some Random text") + stringToAdd);
如果您的函数需要char const*
,那么您可以先构建std::string
,然后使用std:string::c_str()
。
std::string s = std::string("Some Random text") + stringToAdd;
response = MethodCalledHere(s.c_str());
如果你能够使用C ++ 14,你可以使用字符串文字(感谢@Bathsheba的建议)。
response = MethodCalledHere("Some Random text"s + stringToAdd);
答案 1 :(得分:0)
auto MethodCalledHere(std::string inputParameter) {
inputParameter.append(stringToAdd,
stringToAdd + std::strlen(stringToAdd));
return inputParameter;
}