1函数原型
void *memcpy(void *dest, const void *src, size_t n);
2功能
从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中
3所需头文件
C语言中使用#include ;
C++中使用#include 和#include 都可以。
4返回值
函数返回指向dest的指针。
5说明
1.s...
分类:
编程语言 时间:
2015-05-22 09:44:10
阅读次数:
177
Memcopy和memmove函数在linux下看了一下两个函数的源码。两个函数都在头文件string.h中定义,函数原型为:void * __cdecl memcpy ( void * dst,const void * src,size_t count);void * __cdecl memmov...
分类:
其他好文 时间:
2015-05-18 20:42:44
阅读次数:
121
linux应用开发-内存共享
一 虚拟内存
程序运行时,将需要的数据载入物理内存,其他的载入虚拟内存
内核态和用户态是系统内的方式
二 命令ipcs查看系统当前的通信方式
三 操作函数
获取共享内存地址shmget
映射到进程空间shmat
操作空间memcpy
关闭映射shmdt
根据需要是否删除该空间shmctl
...
分类:
系统相关 时间:
2015-05-18 14:48:01
阅读次数:
174
起初看过一遍内存映射I/O,意思大概是懂了,就是直接操作文件再而直接通过缓冲区来操作,减少一些read、write调用所花费的时间。加上文中给出一个copy的例子,意思也好理解的。不过困扰的来了,我琢磨着在映射两个文件后,再使用memcpy内存复制函数将文件写入完全可以,但是这是两个文件的操作,我想...
分类:
其他好文 时间:
2015-05-17 21:29:00
阅读次数:
126
今天老大让我自己写一个String类而且还是用宽字符wchar_t进行初始化,大坑,深坑,非常坑啊。首先,宽字符组成的字符串,len和size并不相等String类要仿照其他语言,做成一个固定大小的“死字符串”memcpy函数调用过程中,是传的void*,所以这时候就要小心,见如下代码:void S...
分类:
其他好文 时间:
2015-05-15 21:07:44
阅读次数:
199
1、指针和引用的区别答:A、指针可修改,引用不可改。 B、指针占用内存,引用不占内存。 C、引用不能为空 指针可以为空。2、memcpy和strcpy的区别答:strcpy 会拷贝到\0结束 字符串拷贝 memcpy 是内存拷贝3、struct 和class 区别答:默认情况下,访问修饰符是 str...
分类:
编程语言 时间:
2015-05-05 23:24:33
阅读次数:
124
void* memset(void *s, int ch, size_t n); 将s所指向的某一块内存中的前n个字节的内容全部设置为ch指定的ASCII值。 例如:memset(lpMyStruct, 0, sizeof(MyStruct));初始化结构体。void *memcpy(void .....
分类:
其他好文 时间:
2015-04-30 10:24:49
阅读次数:
133
首先来看strcpy,目的是实现字符串的复制,这里需要注意几个点:1.判断指针的有效性2.将复制后的指针地址返回,为了支持链式操作3.不要忘记将字符串最后一个自负'\0'复制给dest4.注意原字符串类型为const,保证在函数内部不会被修改char* myStrcpy(char* dest, co...
分类:
其他好文 时间:
2015-04-28 09:31:01
阅读次数:
94
将vector容器x,y的数据转换为matlab矩阵mxMatrix的几种赋值方式:
1:memcpy(mxGetPr(mxa_x),&x[0], y.size()*sizeof(double));
memcpy(mxGetPr(mxa_y),&y[0], y.size()*sizeof(double));//OK&x[0]:即是容器元素的首地址
2.memcpy(mxGetPr(mxa_x),...
分类:
编程语言 时间:
2015-04-27 11:14:46
阅读次数:
188
对于字符串的处理在C++中可谓是一个颇为棘手的问题,而像JAVA和C#这种基于托管的平台则不存在此类问题。 ????我们先来讨论一下memcpy和strcpy这两个方法。 void*?memcpy(void?*memTo,?const?voi...
分类:
其他好文 时间:
2015-04-22 14:03:51
阅读次数:
140