errno_t memmove_s(void *s1, rsize_t s1max, const void *s2, rsize_t n);
memmove_s copies n characters from the object pointed to by s2 into the object pointed to by s1 whose size is supplied in s1max. The parameters are checked for null pointer cases. On error memmove_s stores zeroes in the first s1max characters and the current constraint_handler is called.
memmove_s returns 0 on success and non-zero on failure.