由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - (char **)返回值怎么用SWIG包成Python list (of strings
相关主题
问一个python的string split问题现在Window下写GUI的话用什么库?
诡异的异常处理有人用SWIG吗?如何返回c-string ?
请问以下代码有什么错误?坑: Python + "C++" plus SWAG as ONE big language
如何实现 strtok() ?问个用swig python调用c code 的问题
这个有更好的算法吗?怎样在Python里调用Visual C++的函数?
大家看看这个简单的qsort排序的问题老年工程师转行学C++的更新的问题
perl or python?有python大神吗?紧急求助呀!!谢谢!!!
用python glue C++ 有什么好的办法C++中parse string的问题
相关话题的讨论汇总
话题: char话题: instr话题: quads话题: python话题: delimiters
进入Programming版参与讨论
1 (共1页)
p**o
发帖数: 3409
1
手写了一些C扩展,有些返回多重指针的函数不知道怎么用SWIG来包来供Python调用……
比如下面这个strsplit()函数,返回的是char**,怎么改才能让Python收到一个list (
of strings)?
http://www.swig.org/tutorial.html
我只是照tutorial简单地把函数声明抄进.i文件,Python中调用时返回的是

#include
#include
#include
/* Split an input string 'instr', using a set of given delimiters, to an
array of strings of at most 'maxparts' parts. */
char **strsplit (const char *instr, const char *delimiters, size_t maxparts)
{
char **tokens = (char **) calloc (maxparts, sizeof(char *));
char *_instr = strdup (instr); /* copy */
size_t tokenmaxsize = strlen (_instr) + 1;
char *pstr = strtok (_instr, delimiters);
int i;
for (i=0; pstr != NULL; i++) {
tokens[i] = (char *) malloc (tokenmaxsize * sizeof(char));
strcpy (tokens[i], pstr);
pstr = strtok (NULL, delimiters);
}
free (_instr);
return tokens;
}
/* For testing purpose. */
int main()
{
printf("\ntest 2:\n");
char **quads = strsplit("123.45.6.78.9", ".", 5);
printf("%s --> ", "123.45.6.78.9");
printf("%s %s %s %s %s\n", quads[0], quads[1], quads[2], quads[3], quads
[4]);
return 0;
}
l********a
发帖数: 1154
2
python不是有字符串处理函数吗?
p**o
发帖数: 3409
3
我是举个简单易懂的例子,这个strsplit()其实是供其他C函数调用的,
还有好些类似的函数是py没有的。

【在 l********a 的大作中提到】
: python不是有字符串处理函数吗?
1 (共1页)
进入Programming版参与讨论
相关主题
C++中parse string的问题这个有更好的算法吗?
istream_iterator问题大家看看这个简单的qsort排序的问题
how to read a sentence into a vector of string?perl or python?
怎样才能用perl等东西知道c macro中的数值用python glue C++ 有什么好的办法
问一个python的string split问题现在Window下写GUI的话用什么库?
诡异的异常处理有人用SWIG吗?如何返回c-string ?
请问以下代码有什么错误?坑: Python + "C++" plus SWAG as ONE big language
如何实现 strtok() ?问个用swig python调用c code 的问题
相关话题的讨论汇总
话题: char话题: instr话题: quads话题: python话题: delimiters