1
使用CFFI library for Python,我試圖將一個Python字符串轉換成char *,以便我可以傳遞它到一個接受char *的C函數。我似乎無法弄清楚正確的咒語是什麼。CFFI:TypeError:ctype'char []'的初始值設定項必須是字節或列表或元組,而不是str
考慮這個例子:
>>> from cffi import FFI
>>> ffi = FFI()
>>> ffi.new("char[]", "bob")
結果是:
TypeError: initializer for ctype 'char[]' must be a bytes or list or tuple, not str
下無法正常工作或:
>>> ffi.new("char*", "bob")
它說:
TypeError: initializer for ctype 'char' must be a bytes of length 1, not str
僅供參考 - 我已經在問題標題中包含了CFFI,因爲還有其他方法可以在Python中獲取此錯誤。據我所知,這是第一次針對這個特定的錯誤和Python中的CFFI庫問及。 – 010110110101
選擇一個編碼,然後選擇「bob」.encode('ascii')'你的str - 或者使用'b「bob」'如果它是字面值 – o11c