memcpy拷貝內存內容



memcpy() -- 拷貝內存內容

相關函數: bcopy(), memccpy(), memmove(), strcpy(), strncpy()
表頭文件: #include <string.h>
定義函數: void *memcpy(void *dest, const void *src, size_t n)
函數說明: memcpy()用來拷貝src所指的內存內容前n個字節到dest所指的內存地址上。與strcpy()不同的是,memcpy()會完整的複製n個字節,不會因爲遇到字符串結束'\0'而結束
返回值:   返回指向dest的指針
附加說明: 指針src和dest所指的內存區域不可重疊



-------------------------------------------------------
#include <string.h>
#include <stdio.h>

int main()
{
    char a[30] = "string (a)";
    char b[30] = "hi\0zengxiaolong";
    int i;

    strcpy(a, b);             //a[30] = "hi\0ing (a)"
    printf("strcpy():");
    for(i = 0; i < 30; i++)
        printf("%c", a[i]);   //hi ing (a)


    memcpy(a, b, 30)
;         //a[30] = "hi\0zengxiaolong"
    printf("\nmemcpy():");
    for(i = 0; i < 30; i++)
        printf("%c", a[i]);   //hi zengxiaolong
    printf("\n i = %d\n", i); //30

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