#include <cstdlib> #include <iostream> using namespace std; const int MAX = 100; void* __memmove(void* dest, const void* src, size_t n) { assert(dest != NULL && src != NULL); char *ptrDest = static_cast<char*>(dest); const char *ptrSrc = static_cast<const char*> (src); /*overlap case*/ if(ptrDest > ptrSrc && ptrDest < ptrSrc + n) { for(int i=n - 1; i>=0; i--) *(ptrDest + i) = *(ptrSrc + i); } else { for(int i=0; i<n; i++) *(ptrDest + i) = *(ptrSrc + i); } } int main(int argc, char *argv[]) { char ch1[MAX], ch2[MAX]; cin >> ch1; __memmove(ch2, ch1, 5); cout << ch2 << endl; system("PAUSE"); return EXIT_SUCCESS; }