<p>代码片段如下,</p>
<p>typedef map<string ,string> smap;//要转换的目的map</p>
<p>转换函数</p>
<p>string req_update_userprofile_pack_data2(std::string workkey,PyObject *dict_user)<br>{<br> Py_ssize_t i, j;<br> i = 0;<br> PyObject *key;<br> PyObject *value;<br> smap m_profilelist;<br> while (PyDict_Next(dict_user, &i, &key, &value)) //C++中遍历python的dict对象。此为关键代码<br> {<br> char * skey = PyString_AS_STRING(key); <br> char * svalue = PyString_AS_STRING(value); <br> string sskey(skey);<br> string ssvalue(svalue);<br> if (sskey != "")<br> {<br> cout<< ssvalue << endl; <br> m_profilelist[sskey] = ssvalue;<br> }<br> cout << skey << endl;<br> }<br> cout <<"get bloadtype"<<m_profilelist["bloodType"] << endl;</p>
<p>.....还有其他项目中的代码</p>
<p> return buf;<br>}</p>
<p>typedef map<string ,string> smap;//要转换的目的map</p>
<p>转换函数</p>
<p>string req_update_userprofile_pack_data2(std::string workkey,PyObject *dict_user)<br>{<br> Py_ssize_t i, j;<br> i = 0;<br> PyObject *key;<br> PyObject *value;<br> smap m_profilelist;<br> while (PyDict_Next(dict_user, &i, &key, &value)) //C++中遍历python的dict对象。此为关键代码<br> {<br> char * skey = PyString_AS_STRING(key); <br> char * svalue = PyString_AS_STRING(value); <br> string sskey(skey);<br> string ssvalue(svalue);<br> if (sskey != "")<br> {<br> cout<< ssvalue << endl; <br> m_profilelist[sskey] = ssvalue;<br> }<br> cout << skey << endl;<br> }<br> cout <<"get bloadtype"<<m_profilelist["bloodType"] << endl;</p>
<p>.....还有其他项目中的代码</p>
<p> return buf;<br>}</p>