memcopy的C++實現

描述:由src所指內存區域複製count個字節到dest所指內存區域。

說明:src和dest所指內存區域不能重疊(若重疊使用memmove),函數返回指向dest的指針。

void *memcopy( void* dest , const void* src , int n )
{
    assert(dest != NULL && scr != NULL);
    //拷貝是一個字節一個字節的拷貝
    //定義兩個新指針用於拷貝賦值
    //轉成char是因爲char是1字節,不是轉成字符類型。
    char* newDest = (char*)dest;
    const char* newSrc = (const char*) src;
    while( n-- )
    {
        *newDest ++ = *newSrc ++;//內存地址遞增
    }
    //此處不能返回newDest,因爲newDest已經不知道指到哪裏去了
    return dest;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章