If you're going to have to call strlen to compute the offset, you might as well just strcat(joined + size, join); and let strcat do the strlen() implicitly for you.  It probably has optimisations to do that smarter than you're doing.