我在C中编写了一个Python扩展,但我遇到了问题。在Python代码中,我从socket(tcp)接收数据。数据是字符串和结构的组合(用C语言编写)
当我将数据作为参数传递给C扩展函数时,它会导致TypeError: argument 1 must be string without null bytes, not str
。是什么导致了这个问题?
代码如下:
1,Python的:
def msgProc(self, sockId, data):
"process incoming msg"
#may need to rewrite the message lib
pydecode.decode(data)
2,C:
char *pszData;
if (!PyArg_ParseTuple(args, "s", &pszData)) {
printf("param error\n");
return NULL;
}