У меня есть переменная:Как добавить int в конец uint8_t *?
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.
После этого, несколько вещей случилось (не важно какой), а в конце еще одна функция удаления заголовка добавлен в «myfunction», затем я передал данные, данные этой функцией в struct Data *. Я могу получить доступ к DTS, PTS, размер, но у меня есть ошибка SIGSEGV в данных.
Я думаю, что мне нужно изменить свою структуру, но я не вижу другого способа хранения буфера без указателя.
Определить структуру? –
Да, это возможность, но я хочу отправить свои данные в UDP. –
... так? Отправка обычно выполняется с использованием указателя и размера: 'sizeof (struct mystruct)' –