我对C++编程很陌生,我有
char INSERT_SQL[60];
和后面的代码
INSERT_SQL = "INSERT INTO 'tempLog' ('temperature', 'humidity') VALUES ('";
INSERT_SQL.concat(tempInC);
INSERT_SQL.concat("','");
INSERT_SQL.concat(humidity);
INSERT_SQL.concat("');");
更新温度和湿度值后。
但我收到错误消息说无效的数组赋值
如果我使用 String INSERT_SQL;
而不是 Char INSERT_SQL[60];
那么我会得到这个错误:
没有用于调用 'Connector::cmd_query(String&)'
我应该如何构建一个将不同变量连接在一起的长数组?
最佳答案
看起来您确实在编写 C++(根据 Connector::cmd_query(String&)
)。因此,您可以使用 std::string
。
std::string INSERT_SQL;
/* later */
INSERT_SQL = "INSERT INTO 'tempLog' ('temperature', 'humidity') VALUES ('";
INSERT_SQL += tempInC;
INSERT_SQL += "','";
INSERT_SQL += humidity;
INSERT_SQL += "');";
只要函数调用需要 const char*
,就使用 INSERT_SQL.c_str()
。
关于c++ - 构建一个长字符串作为参数传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41204931/