浅谈字符串处理函数(三)
2016-06-03 13:14
253 查看
前面我们谈到了strcpy和strncpy这两个函数。这两个函数都没有考虑到内存重叠,假如要考虑内存重叠,我们又该如何实现呢?所谓重叠,就是src未处理的部分已经被dst给覆盖了
memcpy的函数原型如下:void *memcpy(void *dest, const void *src, size_t n);
memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中。
函数返回指向dest的指针。
函数实现如下:void *mymemcpy(void *dst,void *src,size_t count)
{
char *p1=(char *)dst;
char *p2=(char *)src;
void *ret=dst;
while(count--)
{
*p1=*p2;
p1++;
p2++;
}
return ret;
}
memcpy的函数原型如下:void *memcpy(void *dest, const void *src, size_t n);
memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中。
函数返回指向dest的指针。
函数实现如下:void *mymemcpy(void *dst,void *src,size_t count)
{
char *p1=(char *)dst;
char *p2=(char *)src;
void *ret=dst;
while(count--)
{
*p1=*p2;
p1++;
p2++;
}
return ret;
}
相关文章推荐
- 浅谈字符串处理函数(二)
- 浅谈字符串处理函数的实现(一)
- 第六次课总结及思考
- 0603学术诚信与职业道德
- Linux双网卡NAT共享上网
- Windows安装php Oracle扩展
- 设置取值范围的模板
- c语言通用平台des加密算法
- Spring MVC中一般类使用service
- MySQL性能优化的最佳21条经验
- cocos2dx游戏--欢欢英雄传说--添加游戏背景
- 开启alwayon后日志分析处理
- 开发利器之PyCharm
- jquery 的ajax
- Mac环境下svn的使用
- iOS复习OC语言 NSString与NSArray 使用
- 关于adb shell 出现error:cannot parse version string kg01的问题
- sqlserver 如何按年按月创建分区函数
- ionic开发篇之那些年我们踩过的坑
- mybatis 输入提示插件 MyBatipse