我正在使用C++作爲後端的ctypes。現在有在C++這樣的功能:ctypes python std :: string
void HandleString(std::string something){
...
}
我想知道如何調用從蟒蛇這個功能 - 沒有CTYPE(c_char_p不會明顯工作)將字符串參數發送到這個功能...
我怎樣才能解決這個問題,並從Python中傳遞一個字符串到C++(和改變參數爲char *的東西是不是和選項)
PS我能創造這樣的解決方法嗎?
- 發送蟒字符串作爲c_char_p到C++函數,其將字符*到std :: string的
- 返回字符串或它的指針不知何故??? !! (如何?)到Python
- 從蟒蛇發送到HandleString功能(但我又覺得我將不得不將參數更改爲字符串*這裏)
如果你要解決這個問題,把你的c_char_p發送到一個C++函數將其轉換爲'std :: string',然後立即調用'HandleString'是否更有意義?實際上,有一個從const char *到'std :: string'的隱式轉換,所以你的解決方法就可以使用指針作爲'HandleString'的參數表達式。不要試圖將'std :: string'傳遞迴Python。 – 2012-03-14 13:45:38