memcpy() -- 拷贝内存函数

定义函数: void *memcpy(void *dest, const void *src, size_t n)
函数说明: memcpy()用来拷贝src所指的内存内容前n个字节到dest所指的内存地址上。与strcpy()不同的是,memcpy()会完整的复制n个字节,不会因为遇到字符串结束‘\0‘而结束
返回值:   返回指向dest的指针
附加说明:指针src和dest所指的内存区域不可重叠
--------------------------------------------------------------------------------------------------------------------------------------------

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

main()
{
      char *s="Golden Global View";
      char d[20];
      memcpy(d,s,strlen(s));
      d[strlen(s)]=0;
      printf("%s\n",d);
      system("pause");
}

------------------------------------------------------------------------------------------------------------------------------------------------

strcpy 与 memcpy

------------------------------------------------------------------------------------------------------------------------------------------------

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)
    system("pause");

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
    system("pause");
}

---------------------------------------------------------------------------------------------------------------------------------------------

2011-03-09

时间: 2024-10-11 19:02:37

memcpy() -- 拷贝内存函数的相关文章

memcpy(拷贝内存内容

/*memcpy(拷贝内存内容) 相关函数 bcopy,memccpy,memcpy,memmove,strcpy,strncpy 表头文件 #include<string.h> 定义函数 void * memcpy (void * dest ,const void *src, size_t n); 函数说明 memcpy()用来拷贝src所指的内存内容前n个字节到dest所指的内存地址上.与strcpy()不同的是,memcpy()会完整的复制n个字节,不会因为遇到字符串结束‘\0‘而结束.

【C语言】 字符串的内存拷贝处理函数

这篇博文我主要是想写一下函数库中的memcpy函数, 对于字符串来说,我们运用字符串<string.h>中的str类别的函数,但是我们还有一些关于内存的拷贝函数.他们操作的对象是内存,然后可以接受任何类型的数据进行拷贝. 这个是<memory.h>里面的memcpy,然后我们一起查看一下MSDN看一看他的原型: void *memcpy(void *dest,const void *src,size_t count); 与strcpy不同的就是添加了第三个参数,确定操作的字节数,然

字符串函数(strcpy字符串拷,strcmp字符串比较,strstr字符串查找,strDelChar字符串删除字符,strrev字符串反序,memmove拷贝内存块,strlen字符串长度)

1.strcpy字符串拷贝拷贝pStrSource到pStrDest,并返回pStrDest地址(源和目标位置重叠情况除外) char *strcpy(char *pStrDest, const char *pStrSource) { assert(NULL!=pStrDest && NULL!=pStrSource); char *strTemp=pStrDest; while ((*pStrDest++ = *pStrSource++) != '\0'); return strTemp

实现memcpy和memmove函数

题目: 自己定义一个函数,实现my_memcpy和my_memmove函数. 题目分析: memcpy函数主要实现的是内存的拷贝,函数接受任意类型的参数,并且有拷贝个数的限制,函数与strcpy函数在功能上有相似点,也有不同点.memmove函数在memcpy函数的基础上解决了内存重叠的问题.下面是memcpy和memmove函数的实现: my_memmove函数: #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include &l

[c/c++] programming之路(23)、字符串(四)——strncat,atoi,strcmp,strlen等,以及常用内存函数

一.strncat及自行封装实现 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #include<string.h> //<string.h>是C版本的头文件,包含比如strcpy.strcat之类的字符串处理函数. //<cstring>是C++版本的<string.h> //<string>定义了一个string的字符串类,包含

字符串基本操作以及内存函数

/* ============================================================================ Name : TestString.c Author : lf Version : Copyright : Your copyright notice Description : C语言字符串相关操作以及内存函数 1 在Java中有String数据类型,但是在C语言中没有 2 在C语言中一般用字符数组来表示字符串,因为在C中没有Strin

内存函数

//内存函数 #include <stdio.h> #include <memory.h> #include <strings.h> void main2(){ //memset赋值函数 char str[45] = "hello luoxu hello c"; memset(str,'A',6); //第一个参数内存首地址,第二个参数要赋值的值,第三个参数从首地址前进多少个字节 printf("%s\n",str); //AAA

C语言内存函数

http://see.xidian.edu.cn/cpp/u/hs3/ 函数 说明 calloc() 分配内存空间 free() 释放内存空间 getpagesize() 取得内存分页大小 malloc() 分配一段内存空间 mmap() 建立内存映射 munmap() 解除内存映射 memccpy() 复制内存中的内容 memchr() 在内存中查找特定字符 memcmp() 比较内存前n个字节 memcpy() 复制内存内容(忽略\0) memmove() 复制内存内容 memset() 向

Linux &quot;零拷贝&quot; sendfile函数中文说明及实际操作

Sendfile函数说明 #include ssize_t sendfile(int out_fd, int in_fd, off_t *offset, size_t count); sendfile()是作用于数据拷贝在两个文件描述符之间的操作函数.这个拷贝操作是内核中操作的,所以称为"零拷贝".sendfile函数比起read和write函数高效得多,因为read和write是要把数据拷贝到用户应用层操作. 参数说明: out_fd 是已经打开了,用于写操作(write)的文件描述