簡體   English   中英

從python中的c dll獲取char數組作為字符串

[英]Getting char array from c dll in python as string

我是ctypes的初學者,我不知道如何在python中將char數組轉換為字符串。 我已經開始使用:

create_string_buffer(bytes(var, 'utf8'))填充數組,但使用“ byref()”將其作為字符串返回時並沒有運氣。

如果有人有任何想法,您將成為救生員。 提前致謝!

ctypes頁面: [Python]:ctypes-Python的外部函數庫
很難看到一些代碼,但這是一個示例:

 >>> import sys >>> import ctypes >>> "Python {:s} on {:s}".format(sys.version, sys.platform) 'Python 3.5.2 (default, Nov 23 2017, 16:37:01) \\n[GCC 5.4.0 20160609] on linux' >>> src = "some dummy Python string" >>> src_charp = ctypes.create_string_buffer(src.encode()) >>> dst_initial = b"Just " >>> dst_charp = ctypes.create_string_buffer(len(dst_initial) + len(src) + 1) >>> dst_charp <ctypes.c_char_Array_25 object at 0x7fe6c41209d8> >>> dst_charp.value b'' >>> for idx, c in enumerate(dst_initial): ... dst_charp[idx] = c ... >>> dst_charp.value b'Just ' >>> ctypes.CDLL(None).strcat(dst_charp, src_charp) 32414128 >>> dst_charp <ctypes.c_char_Array_25 object at 0x7fe6c41209d8> >>> dst_charp.value b'Just some dummy Python string' >>> dst = dst_charp.value.decode() >>> dst 'Just some dummy Python string' 

注意事項

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM