c++ - 将 Char 数组添加到 C++ 中的 Char * 变量
问题描述
我正在编写代码来为我的 SQLlite 数据库发送查询,但我只是找不到将变量添加到用作查询的 Char * 变量的方法。我要添加的查询和变量声明如下:
String p = "10004F1F7";
char *sql = "SELECT * from TABELTAGGEGEVENS WHERE ID =" + p;
我得到的错误是:错误:从'Arp :: BasicString'到'char *'的无效用户定义转换[-fpermissive]
非常感谢。
解决方案
这不起作用,因为在 C++ 中,字符指针上的“+”运算符不会连接字符串。一种解决方案是将文字值也设为 String:
String p = "10004F1F7";
String query = "SELECT * from TABELTAGGEGEVENS WHERE ID =";
然后,您可以像这样连接:+
运算符:p + operator
我不知道您似乎正在使用的特定库 ( Arp::BasicString
),所以我不知道您如何将其转换为 char *。
使用 std::string 您可以简单地调用c_str
结果。
另一个可能更好的解决方案是使用格式化程序。
参考见: