Таким образом, есть проблема, я трясу головой в течение двух ночей подряд:
(tuple1 и tuple2 - пустые указатели, переданные этой функции)
char *data;
data = (char*) calloc (76, 1);
memcpy(data, tuple1, 32);
memcpy(data+32, tuple2, 44);
Идея состоит в том, чтобы выделить память, равную сумме размеров tuple1
и tuple2
(tuple1
равно 32 байта и tuple2
равно 44), а затем скопировать 32 байта tuple1
и вставить их по адресу данных и после этого скопируйте 44 байта tuple2
и вставьте их через 32 байта после адреса данных.
Дело в том, что, если я копирую только tuple1
или только tuple2
, это действительно копируется в том месте, где оно должно быть (я печатаю данные с слишком длинной функцией, чтобы поместить их здесь), но когда я делаю две памяти копирует первый memcpy()
работает нормально, а второй нет.
Может кто-нибудь помочь мне с этой серьезной проблемой?