Вы должны вручную добавить конец \0
в строку, то есть, в конце add
, вы должны добавить:
dest[count] = '\0';
Знаете, длина строки в C учитывается при поиске символа \0
. Вы должны включить один из них в конце каждой строки C. Если нет, строка может содержать любой мусор до первой \0
, которая будет напечатана.
Наконец, при создании dest
вы также должны увеличить длину зарезервированного пространства в одном, чтобы вместить этот конечный символ 0. strlen
не учитывает этот конечный символ 0.