当前位置:  开发笔记 > 编程语言 > 正文

在Python中打印C字符串

如何解决《在Python中打印C字符串》经验,为你挑选了0个好方法。

我想使用Python print语句打印一个C字符串.该数组vendorName包含ASCIIZ C字符串A ANTHONY & SONS INC.我的动机是将C字符串转换为Python字符串,以便我可以使用所有Python字符串方法.

我有一个结构:

class _vendrRecord(Structure):
    _pack_ = 1                                            # pack the struct
    _fields_ = [
        ("vendorName"            ,c_ubyte *(40 + 1)),
        ("ytdPayments"           ,c_ulong),
        ]

我想打印字符串"vendorName",这是ASCIIZ.

我可以使用printf打印它,如下所示:

printf(b"%s\n", vendrRecord.vendorName)

我试过这个,print(vendrRecord.vendorName)但它只打印地址.根据Jamie Nicholl-Shelley提供的信息,我试过print(cast(vendrRecord.vendorName,c_char_p).value)但是给了b'A ANTHONY & SONS INC'.我想要简单A ANTHONY & SONS INC

请注意print(vendrRecord.ytdPayments)正确打印.

推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有