将文字添加到char*

Mar*_*cus 1 c++ sql pointers string-concatenation

是否可以添加文本char*

因为此代码会出错:

name3 = "SELECT account_id FROM players WHERE name = '" + name + "'";
Run Code Online (Sandbox Code Playgroud)

(name3 = char*)

mea*_*gar 16

您的问题用C++标记,因此请使用C++.摆脱你char*的并使用std::string:

std::string name = "...";

std::string name3 = "SELECT account_id FROM players WHERE name = '" + name + "'";
Run Code Online (Sandbox Code Playgroud)

您可以通过分配足够大的新数组来"添加"两个字符数组(char*),并将两个字符串复制到新数组中.我认为您会同意这样std::string做更容易,但它也为您提供了更少的机会,可以在您的代码中引入细微的错误,从而使调试和维护更加简单.

  • 作为旁注,如果你计划进行大量的字符串连接,你应该使用`std :: stringstream`.另外,如果可以,请不要使用内联SQL. (2认同)