老师,我想请教一个关于void *的问题;
来源:8-1 从抽象到面向对象编程
mahsiaoko
2020-03-25
老师,您好!我现在有一个数组buf,她里面包含以下内容;
buf[0]位置存储的是一个数字,假设为name_len,
buf[1]到buf[name_len]存储的是一个字符串,之后,
buf[name_len+1]='\0';
buf[name_len+2]='E';
在name_len+3处,是:
memcpy(buf + name_len + 3, &type, 2);
其中,type的值是1;
最后,
typedef struct knot_db_val {
void *data;
size_t len;
} knot_db_val_t;
(knot_db_val_t){ buf + 1, name_len + 4 }
目前,我想知道上面的void* data里面存储的具体的形式,我该怎么处理,我现在不管怎么操作,对于上面的type输出之后都是乱码,就是之前buf里面的1到name_len+2这个范围内的输出正常,但是之后的部分,不能正常输出。
写回答
1回答
-
乱码是因为解析的方式不对,你先弄清这里到底存储的是什么编码方式的数据。
022020-03-26
相似问题