0

几天以来我一直在努力处理代码,有人可以帮忙吗

std::string str=uri_req1.substr(found+1);
char query[2000];
sprintf(query,"Insert into publish VALUES('%s','NO')",str);

我收到以下警告,并且表中未插入值

warning: cannot pass objects of non-POD type ‘struct std::string’
through ‘...’; call will abort at runtime
warning: format ‘%s’ expects type ‘char*’, but
argument 3 has type ‘int’

我试过的另一件事是

string query;
query="Insert into publish values('";
query+=str;
query+="','NO')";
  mysql_query(&mysql,query);

但这也从来没有用过好心的帮助

4

2 回答 2

4

我可能会使用字符串流来组装字符串:

std::ostringstream query;

query << "Insert into publish values('" << str << "', 'NO')";
mysql_query(&mysql, query.str().c_str());
于 2010-09-21T04:30:11.050 回答
0

这肯定会奏效;)

string query;
query="Insert into publish values('";
query+=str; 
query+="','NO')"; 
mysql_query(&mysql,query.c_str());
于 2015-08-18T15:08:59.737 回答