百度空间 | 百度首页 
 
查看文章
 
memcpy() -- 拷贝内存内容
2007年07月06日 星期五 09:07
相关函数: 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

}

类别:C And Clib | 添加到搜藏 | 浏览() | 评论 (13)
 
最近读者:
 
网友评论:
1
2007年07月06日 星期五 11:23 | 回复
对于应用程序来说,因为代码“知道”两个内存块不会重叠,所以可以安全地使用memcpy()函数
 
2
2007年07月12日 星期四 09:14 | 回复
说得清晰明了,我明白了
 
3
2007年08月02日 星期四 17:54 | 回复
不错,就是不知道这几个指令能在C++中使用吗?
 
4
2007年08月02日 星期四 18:05 | 回复
当然可以! C和C++是兼容的!
 
5
2007年08月03日 星期五 10:27 | 回复
HAO
 
6
2007年09月22日 星期六 19:29 | 回复
相当地好!
 
7
2007年11月30日 星期五 15:17 | 回复
good
 
8
2007年12月04日 星期二 11:05 | 回复
very good
 
9
2007年12月04日 星期二 20:06 | 回复
http://www.23book.net/SoftwareDev/VC/28702.htm
 
10
2007年12月17日 星期一 11:01 | 回复
不错,终于明白了
 
11
2008年10月18日 星期六 15:43 | 回复
good
 
12
2008年11月08日 星期六 15:56 | 回复
很容易看懂
 
13
2008年12月24日 星期三 14:06 | 回复
谢谢
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu