相关疑难解决方法(0)

如何构造unpack c null终止字符串?

我使用tcp将数据发送到python服务器.数据如下:

struct protocol
{
    unsigned char prot;
    int id;
    char name[32];
}
Run Code Online (Sandbox Code Playgroud)

看一下该name字段,它是一个以空字符结尾的字符串,最大大小为32.现在我用了strcpy.

protocol p;
memset(&p, 0, sizeof(p));
strcpy(name, "abc");
Run Code Online (Sandbox Code Playgroud)

现在我用python解压缩它.

prot,id,name = struct.unpack("@Bi32s")
Run Code Online (Sandbox Code Playgroud)

现在len(name)是32.但我需要得到"abc"长度为3时的字符串.

我怎样才能做到这一点?

c python

10
推荐指数
2
解决办法
5403
查看次数

标签 统计

c ×1

python ×1