首页 > 解决方案 > 将 Char 数组添加到 C++ 中的 Char * 变量

问题描述

我正在编写代码来为我的 SQLlite 数据库发送查询,但我只是找不到将变量添加到用作查询的 Char * 变量的方法。我要添加的查询和变量声明如下:

String p = "10004F1F7";
 char *sql = "SELECT * from TABELTAGGEGEVENS WHERE ID =" + p;

我得到的错误是:错误:从'Arp :: BasicString'到'char *'的无效用户定义转换[-fpermissive]

非常感谢。

标签: c++

解决方案


这不起作用,因为在 C++ 中,字符指针上的“+”运算符不会连接字符串。一种解决方案是将文字值也设为 String:

String p = "10004F1F7";
String query = "SELECT * from TABELTAGGEGEVENS WHERE ID ="; 

然后,您可以像这样连接:+运算符:p + operator

我不知道您似乎正在使用的特定库 ( Arp::BasicString),所以我不知道您如何将其转换为 char *。

使用 std::string 您可以简单地调用c_str结果。

另一个可能更好的解决方案是使用格式化程序。

参考见:


推荐阅读