zoukankan      html  css  js  c++  java
  • memcpy() memccpy() 拷贝内存内容

    相关函数: 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]);   //hiing (a)


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

    }



    相关函数: bcopy(), memcpy(), memmove(), strcpy(), strncpy()
    表头文件: #include <string.h>
    定义函数: void *memccpy(void *dest, const void *src, int c, size_t n);
    函数说明: memccpy()用来拷贝src所指的内存内容前n个字节到dest所指的地址上。与memcpy()不同的是,memccpy()如果在src中遇到某个特定值(int c)立即停止复制。
    返回值:   返回指向dest中值为c的下一个字节指针。返回值为0表示在src所指内存前n个字节中没有值为c的字节。


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

    int main()
    {
        char a[] = "string[a]";
        char b[] = "string(b)";
        memccpy(a, b, 'b', sizeof(b)); //a[] = "string(b]"
        printf("memccpy():%s\n", a);
    }

  • 相关阅读:
    MongoDB知识
    SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
    SQL Server 触发器
    TSQL游标使用
    python和C#的区别
    bcp和SqlDataAdapter进行批量跟新插入方法
    SQL Server中索引视图用法详解
    hdu 1950 Bridging signals
    UVA 116 Unidirectional TSP
    poj 3230 Travel
  • 原文地址:https://www.cnblogs.com/8586/p/1385366.html
Copyright © 2011-2022 走看看