But remember to rename the function, since all function names starting with "str" are reserved in C.
To keep with the spirit of the article, calling strlen() just to allow convenient use of memmove() seems a bit counter-intuitive, I'd roll the two together into a copying loop instead.