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 に答える