Python中文
首页
教程
问答
标签
搜索
登录
注册
Pythonctypes.string_在,指针正确,但结果字符串n
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在用下面的例子学习如何使用ctypes,但是奇怪的问题发生了。。在</p> <p>c文件在这里:</p> <pre><code>typedef struct post { char *x; char *y; int x_z; } post_t; void foo (post_t *o, char *src) { int i=0; char *p = src; int len = strlen(src); for (; *p != '\0'; i++, p++) { if (*p == 'x') { o->x = p; o->x_z = len-i; } } o->y=src; } </code></pre> <p>python代码在这里(测试.oy)公司名称:</p> ^{pr2}$ <p>结构<code>post</code>正在映射到python<code>class</code>。C文件将是一个动态库<code>foolib.so</code>:</p> <p>gcc-fPIC-共享-o傻瓜。所以傻瓜c</p> <p>但是,奇怪的是,当我运行<code>python test.py</code>时,我得到了以下输出:</p> <pre><code>21 ooiddfggggggggggggvd ooiddfggggggggggggvd </code></pre> <p>但是<code>string_at(o.y, len(s))</code>是<code>iooxooiddfggggggggggggvd</code>的例外。在</p> <p>我的代码哪里出错了?谢谢。在</p> <p>顺便说一下,为了快速测试它,我把代码放在gist上:<a href="https://gist.github.com/hit9/7244344" rel="nofollow">https://gist.github.com/hit9/7244344</a></p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>因为Python GC吃了<code>create_string_buffer(s)</code>,但是<code>src</code>!在</p> <p>改成这样就可以了:</p> <pre><code>buf = create_string_buffer(s) foolib.foo(byref(o), buf) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何实现一个类,该类在每次更改其属性时更改其“last_edited”变量?
10 回答
如何实现一个类?
3 回答
如何实现一个类的属性设置?
10 回答
如何实现一个能够存储输入并反复访问输入的存储系统?GPA计算器
2 回答
如何实现一个自定义的keras层,它只保留前n个值,其余的都归零?
9 回答
如何实现一个行为类似于Python中序列的最小类?
4 回答
如何实现一个请求的多线程或多处理
6 回答
如何实现一个长时间运行的、事件驱动的python程序?
5 回答
如何实现一个颜色一致的非舔深度地图实时?
8 回答
如何实现一个默认的SQLAlchemy模型类,它包含用于继承的公共CRUD方法?
5 回答
如何实现一次热编码的生成函数
7 回答
如何实现一种在数组中删除对的方法
4 回答
如何实现一类支持向量机用于图像异常检测
4 回答
如何实现一维阵列到二维阵列的复制转换
8 回答
如何实现三维三次样条插值?
8 回答
如何实现三维数据的连接组件标签?
10 回答
如何实现三角形的空间索引
1 回答
如何实现不同模块中对象之间的交互
9 回答
如何实现不同版本的库共存?
10 回答
如何实现不同的班权重
8 回答