![](/img/trans.png)
[英]Python 3.x ctype c_wchar_p and c_char_p return status different from ctypes doc
[英]Why does Python ctype c_char_p return different values on OSX vs. Windows?
我正在学习更多有关Pythons ctypes模块的知识,并注意到一个奇怪的是我不确定如何解释。
在Windows(Python 2.7.4)上,返回以下内容:
>>> from ctypes import *
>>> c_char_p("Hello World!")
c_char_p('Hello World!')
而在OSX(Python 2.7.2)上,返回以下内容:
>>> from ctypes import *
>>> c_char_p("Hello World!")
c_char_p(4479401388)
此外,在OSX上, c_char_p("Hello World!")
每次运行时都会返回不同的数值。
有人可以说明为什么会发生这种情况吗?
提前致谢。
查看源代码 , __repr__
将仅显示字符串if的内容
IsBadStringPtr
返回TRUE
。 如果可能的话,他们可能想要显示一个字符串表示,因为这是一个非常有用的东西,但如果它指向一个意外的地方,它不会崩溃。 IsBadStringPtr
仅存在于Windows上,需要进行第一次检查。 坦率地说,我很惊讶他们会使用它,因为它显然已经过时了,而且有充分的理由 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.