Я уже давно нахожусь в этом фове, и я, похоже, не понимаю его.Добавление массива Char в Char pointer
У меня есть этот код:
unsigned char *src;
int length = (parameterArray[i].sizeInBits/8) + 1; // check how long array should be
unsigned char tmp[length]; // declare array
memcpy(tmp, (char*)¶meterArray[i].valueU8, length); // in this case copy char to array
src = realloc(src, strlen(src) + strlen(tmp)); // reallocate space for total string
strncat(src, tmp, strlen(tmp)); // merge
каждый раз код падает на перераспределении части.
Я пробовал почти все и ничего не работает. Пожалуйста, помогите
Вы не говорите, что ваша проблема, но обратите внимание, что вы должны добавить 1 для нулевого терминатора в размер, который вы realloc'. У вас также возникнут проблемы, если 'parameterArray [i] .valueU8' не гарантируется, что оно завершено нулем. – simonc
Что не работает? Как определяется параметр parameterArray? –
Извините, я отредактировал свой вопрос – flexzican