#include <iostream> using namespace std; void *memmove(void *str1, const void *str2, size_t n) { char *pStr1 = (char *)str1; char *pStr2 = (char *)str2; if () { for (size_t i = 0; i != n; ++i) { *(pStr1++) = *(pStr2++); } } else { pStr1 += n - 1; pStr2 += n - 1; for (size_t i = 0; i != n; ++i) { *(pStr1--) = *(pStr2--); } } return (); }