当前位置: 首页 > news >正文

做家常便饭网站万能浏览器网页版

做家常便饭网站,万能浏览器网页版,网上商城网站建设解决方案,东莞网站制作百年memcpy()函数概要原型void * memcpy ( void * dest, const void * src, size_t num );功能memcpy()会复制 src 所指的内存内容的前 num 个字节到 dest所指的内存地址上(memcpy()并不关心被复制的数据类型,只是逐字节地进行复制,这给函数的使用…

memcpy()函数

  • 概要
原型
void * memcpy ( void * dest, const void * src, size_t num );
功能

memcpy()会复制 src 所指的内存内容的前 num 个字节到 dest所指的内存地址上(memcpy()并不关心

被复制的数据类型,只是逐字节地进行复制,这给函数的使用带来了很大的灵活性,可以面向任何数据

类型进行复制

注意

1.dest 指针要分配足够的空间,也即大于等于 num字节的空间。
2.dest 和 src所指的内存空间不能重叠(重叠可能会导致拷贝数据错误)

3.memcpy拷贝结束后不会给dest末尾添加‘/0’

4.memcpy 不会检查 src 或 dest 的实际内存边界,它只是机械地复制 num 字节(num大于小于dest和

src的长度都不会阻止),在vs2022会报警告。

返回值返回指向 dest 的指针。注意返回的指针类型是void*,使用时一般要进行强制类型转换。
  • 举个例子
int main() 
{const char* p1 = "HEllO";char* p2 = (char*)malloc(sizeof(char) * 10);char* p3 = (char*)memcpy(p2, p1, 6);cout << p3 << endl;
}

 memmove函数

  •  概要
原型
void *memmove(void *dest, const void *src, size_t num);
功能memmove()会复制 src 所指的内存内容的前 num 个字节到 dest所指的内存地址上
注意

1.memmove() 更为灵活,当src 和 dest所指的内存区域重叠时,memmove() 仍然可以正确的处理,

不过执行效率上会比使用 memcpy()略慢些。(处理方式就是如果src长度小于dest,就从头开始复制

,如果src长度大于dest,就从后往前复制,这样就可以保证内存区域重叠时正确复制

2.memmove的特性基本上和memcpy一致。

返回值

返回指向 dest 的指针。注意返回的指针类型是void,使用时一般要进行强制类型转换

  • 举个例子
int main() 
{char str[] = "memmove can be very useful......";memmove(str + 20, str + 15, 11);puts(str);return 0;
}

strcpy()函数

  • 概要
原型
char*strcpy(char *dest, const char *src);
功能

strcpy() 把src所指的由"/0"结束的字符串复制到dest 所指的数组中,返回指向dest 字符串的起始地址

(连同"/0")

注意

1.如果参数 dest 所指的内存空间不够大,可能会造成缓冲溢出(bufferOverflow)的错误情况,在编写

程序时需要特别留意,或者用strncpy()来取代

2.strcpy 不会检查 src 或 dest 的实际内存边界,它只是机械地复制,在vs2022中超出边界会程序

崩溃

返回值指向dest 字符串的起始地址

 

  • 举个例子 
int main() 
{char str1[] = "Sample string";char str2[8];char str3[40];strcpy(str2, str1);strcpy(str3, "copy successful");printf("str1: %s\nstr2: %s\nstr3: %s\n", str1, str2, str3);return 0;}

strncpy()函数

  • 概要
原型
char *strncpy(char *dest, const char *src, size_t n);
功能 strncpy()会将字符串src前n个字符拷贝到字符串dest,n也表示最多复制n个字符。
注意

1.不像strcpy(),strncpy()不会向dest追加结束标记'\0',这就引发了很多不合常理的问题。

2.如果n大于src的长度,会用"/0"填充dest。

返回值指向dest 字符串的起始地址
  • 举个例子
int main(void)
{char dest3[100] = "xxxxxxxxxxxxxxxxxxxxxxxxx";const char src3[6] = "abcxy";int n3 = 20;strncpy(dest3, src3, n3); return 0;
}

http://www.dtcms.com/a/576704.html

相关文章:

  • php 网站做网络推广要做网站吗
  • 广州做网站哪个公司做得好金溪网站建设推广
  • 网站模板购买 优帮云中国网站优化哪家好
  • 网站开发后端用什么花儿直播免费视频观看
  • 网站空间租用价格西安seo霸屏
  • yy直播是个什么样的平台seo黑帽排名
  • 网站备案归属地wordpress摘要添加省略号
  • 网站cms系统 开源框架做网站 seo
  • 柳州网站制作工作室wordpress rest图片
  • 广告设计接单网站婚庆公司创业计划书
  • 仿一个网站眉山做网站的公司
  • 网站开发php还是jsp全屋装修公司
  • 做网站百度收费吗网站建设 海南
  • 企业网站建设策划书怎么写做360网站优化快速
  • 商家入驻网站建设生产管理系统免费版
  • asp.net 网站开发项目南阳seo网站价格
  • 长治建设网站公司丰镇市网站
  • 自主建站羊肉口报关做网站
  • 大数据精准获客平台东莞百度seo排名
  • 简单网站开发项目实例大兴专业网站开发公司
  • 怎么做网站首页psd初二做网站的首页模板
  • 做二维码签到的网站公司网站免费建站怎么样
  • 青岛企业网站建设电商网站业务流程
  • 成都哪家公司做网站住房和城乡建设部网站注册
  • 新开传奇网站180火龙小白测评做网站
  • vr全景网站怎么做做网站推广怎么找客户
  • 栅格系统做的网站企业网站建设需要准备什么
  • 做自己的网站有什么用免费ppt模板下载大全网站
  • 外贸网站多语言免费的个人简历模板word
  • 自我介绍网页设计代码爱站seo综合查询