C/C++ 自己编写内存拷贝函数:memcpy()

1.写一个函数,完成内存之间的拷贝。[考虑问题是否全面]

void* memcpy( void *dest, const void *src, size_t count )
{
    char* pdest = static_cast( dest );
    const char* psrc = static_cast( src );
    if( pdest>psrc && pdest

下题展示为什么要考虑那种情况:

编写一个函数,作用是把一个char组成的字符串循环右移n个。比如原来是“abcdefghi”如果n=2,移位后应该是“hiabcdefgh”。

答案之一:

void LoopMove ( char *pStr, int steps )
{
    int n = strlen( pStr ) - steps;
    char tmp[MAX_LEN];   
    memcpy( tmp, pStr + n, steps );  
    memcpy(pStr + steps, pStr, n );    
    memcpy(pStr, tmp, steps );   
}


你可能感兴趣的:(C/C++ 自己编写内存拷贝函数:memcpy())