我有一个变量:如何在uint8_t *的末尾添加int?
uint8_t* data
而且我想一个头添加到这些数据。恰好两个数字。 我想要我的数据是这样的:data + my_int + my_second_int
之后,我必须将我的数据给一个函数(我不能修改)和我的数据的大小。
像这样:myfunction(data,size);
这是目前我的代码看起来像:
struct Data {
uin8_t* data;
uint32_t PTS;
uint32_t DTS;
uint16_t size_data;
};
struct Data* mydata;
mydata->data = data; // data I get before
mydata->size_daza = size; // size I get before
mydata->PTS = GST_BUFFER_PTS(buf);
mydata->DTS = GST_BUFFER_DTS(buf);
myfunction(mydata,sizeof(struct Data)); // My function , this function add also a header to my data (another).I can't access or modify this function.
此,多个事情happend(什么都无所谓)后,并在年底另一个函数删除页眉附加'myfunction',然后我将这个函数给出的数据转换为struct Data *。我可以访问DTS,PTS的大小,但我有一个SIGSEGV错误的数据..
我想我必须改变我的结构,但我没有看到其他方式来存储没有指针的缓冲区。
定义一个结构? –
是的,这是一种可能性,但我想用UDP发送我的数据。 –
...那么?发送通常使用指针和大小来完成:'sizeof(struct mystruct)' –