memcpy用法

memcpy原型:extern void *memcpy(void *dest, void *src, unsigned int count);   用法:#include <string.h>   
功能:由src所指内存区域复制count个字节到dest所指内存区域。   
说明:src和dest所指内存区域不能重叠,函数返回指向dest的指针。   
注意:与strcpy相比,memcpy并不是遇到'\0'就结束,而是一定会拷贝完n个字节。   
举例:   // memcpy.c   
#include <stdio.h>   
#include <string.h>   
int main(int argc, char* argv[])   
{   
  char *s="Golden Global View";   
  char d[20];   
  clrscr();   
  memcpy(d,s,strlen(s));   
  d[strlen(s)]='\0';   
  printf("%s",d);   
  getchar();
   return 0; 
}   
截取view
   #include <string.h>
   int main(int argc, char* argv[])
 {
   char *s="Golden Global View";
   char d[20];   memcpy(d,s+14,4); 
  //memcpy(d,s+14*sizeof(char),4*sizeof(char));也可
   d[4]='\0';
   printf("%s",d);
   getchar();
   return 0; 
}   
输出结果:   View   
初始化数组   char msg[10];   memcpy(msg,0,sizeof(msg));
时间: 2024-09-23 15:23:12

memcpy用法的相关文章

C函数之memcpy()函数用法

头文件:#include <string.h> memcpy() 用来复制内存,其原型为:    void * memcpy ( void * dest, const void * src, size_t num ); memcpy() 会复制 src 所指的内存内容的前 num 个字节到 dest 所指的内存地址上. memcpy() 并不关心被复制的数据类型,只是逐字节地进行复制,这给函数的使用带来了很大的灵活性,可以面向任何数据类型进行复制. 需要注意的是: dest 指针要分配足够的空

对比C语言中memccpy()函数和memcpy()函数的用法_C 语言

C语言memccpy()函数:复制内存中的内容头文件: #include <string.h> 定义函数: void * memccpy(void *dest, const void * src, int c, size_t n); 函数说明:memccpy()用来拷贝src 所指的内存内容前n 个字节到dest 所指的地址上.与memcpy()不同的是,memccpy()会在复制时检查参数c 是否出现,若是则返回dest 中值为c 的下一个字节地址. 返回值:返回指向dest 中值为c 的下

memmove 和 memcpy的区别

memcpy和memmove()都是C语言中的库函数,在头文件string.h中,作用是拷贝一定长度的内存的内容,原型分别如下:void *memcpy(void *dst, const void *src, size_t count); void *memmove(void *dst, const void *src, size_t count);  他们的作用是一样的,唯一的区别是,当内存发生局部重叠的时候,memmove保证拷贝的结果是正确的,memcpy不保证拷贝的结果的正确. 第一种情

ffmpeg中swscale 的用法

 移植ffmpeg过程中,遇到swscale的用法问题,所以查到这篇文章.文章虽然已经过去很长时间,但是还有颇多可以借鉴之处.谢谢"咕咕鐘".          转自:http://guguclock.blogspot.com/2009/12/ffmpeg-swscale.html          如果想將某個PixelFormat轉換至另一個PixelFormat,例如,將YUV420P轉換成YUYV422,或是想變換圖的大小,都可以使用swscale達成. 其中,PixelFor

CString的GetBuffer用法,GetBuffer本质,GetBuffer常见问题解决方法 .

char *GetBuffer(n) 当n大于0时,是为CString变量分配一个长度为n的字节数组,返回值是这个数组的地址 当n等于0时,返回CString变量本身拥有的字符串数组的头 ReleaseBuffer一般用在GetBuffer,因为在调用了GetBuffer后变量本身会给自己上锁,于是所有能改变自身值的函数都不能用(如果Left,Mid),要用ReleaseBuffer解锁   一.函数原型 CString::GetBuffer LPTSTR GetBuffer( int nMin

sws_scale函数的用法-具体应用

移植ffmpeg过程中,遇到swscale的用法问题,所以查到这篇文章.文章虽然已经过去很长时间,但是还有颇多可以借鉴之处.谢谢"咕咕鐘".          转自:http://guguclock.blogspot.com/2009/12/ffmpeg-swscale.html          如果想將某個PixelFormat轉換至另一個PixelFormat,例如,將YUV420P轉換成YUYV422,或是想變換圖的大小,都可以使用swscale達成. 其中,PixelForm

C++中memset函数用法详解_C 语言

本文实例讲述了C++中memset函数用法.分享给大家供大家参考,具体如下: 功 能: 将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值,块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作 用 法: void memset(void *s, char ch, unsigned n); 程序示例: #include <string.h> #include <stdio.h> #include <memory.h> int main(v

memset和memcpy和memcpy

1.函数原型 void *memcpy(void *dest, const void *src, int n);编辑本段功能 由src指向地址为起始地址的连续n个字节的数据复制到以dest指向地址为起始地址的空间内.所需头文件 #include <string.h>编辑本段返回值 函数返回一个指向dest的指针.说明 1.source和destin所指内存区域不能重叠,函数返回指向destin的指针. 2.与strcpy相比,memcpy并不是遇到'\0'就结束,而是一定会拷贝完n个字节. 3

C语言中函数strcpy ,strncpy ,strlcpy的用法【转】

转自:http://blog.chinaunix.net/uid-20797562-id-99311.html strcpy ,strncpy ,strlcpy的用法好多人已经知道利用strncpy替代strcpy来防止缓冲区越界.但是如果还要考虑运行效率的话,也许strlcpy是一个更好的方式.1. strcpy 我们知道,strcpy 是依据 \0 作为结束判断的,如果 to 的空间不够,则会引起 buffer overflow.strcpy 常规的实现代码如下(来自 OpenBSD 3.9