Конкатенация двух массивов int с использованием memcpy

Я думаю, вам нужна кодировка как UTF-8 для вашего HTML и использовать & amp; #xUNUM; для hex или #NUM; для обычного кода для встраивания ваших специальных символов. Не уверен, где, но где-то в вашей программе, так как он не отображается, но ваш окончательный HTML должен быть:



  
    Your Page Title
    
  
  
    

     Tổ chức tham gia

  

Вы можете вырезать и вставить выше в файл HTML и просмотреть результат. Больше удовольствия для чтения здесь Юникод и HTML

0
задан Josh K 4 March 2019 в 22:43
поделиться

1 ответ

Вы неправильно вычисляете свои адреса в memcpy. Начиная с arr как int *, вы добавляете число целых чисел для продвижения указателя, а не количество байтов.

Один из способов исправить это - просто позволить компилятору вычислить адреса:

memcpy(&arr[i], &nums2[c2], INTSIZE*(nums2Size-c2));

Или, придерживаясь указателя математики,

memcpy(arr + i, nums2 + c2, INTSIZE*(nums2Size-c2));

Последний параметр - это число байтов для копирования, поэтому число целых чисел необходимо изменить на количество байтов.

В обоих случаях я настроил второй параметр, чтобы начать копирование с правильного элемента в массиве nums2.

Тогда спросите себя: что произойдет, если c2 достигнет nums2Size? Вы в настоящее время не рассматриваете это дело.

0
ответ дан 1201ProgramAlarm 4 March 2019 в 22:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: