如何理解posix_ipc::MessageQueue::receive()的返回值?
我正在使用Philip Semanchunk的posix_ipc这个Python模块来从一个posix消息队列中读取数据。我写了一个C++程序,它会把一个包含数据的结构体放入这个队列中。我的Python程序成功地从队列中读取了消息,但我不太确定该如何处理这个结果消息。
我用print msg
打印出来时,结果却是一个空字符串,但我知道msg里面有东西。
我想读取这个结构体中的成员,但我猜我可能需要用到结构体模块,把这个消息转换成可以读取的格式?有没有人做过类似的事情?
我看过他的文档和示例,但他使用的是简单类型,我没有找到任何源是C结构体的例子。谷歌也没有帮上忙。
另外,我只能使用Python 2.3。谢谢!
1 个回答
1
可以使用Python的struct模块。
struct::unpack()
这个函数可以把从MessageQueue::receive()
得到的十六进制字符串转换成一个字符串的元组。