C/C++字符串复制函数:

C/C++字符串函数的头文件:string.h

复制函数主要有4个,如下:

  • 1、char * strcpy(char* destination,const char * source);
  • 2、char* strncpy(char* destination,const char* source,size_t num);
  • 3、void * memcpy(void* destination,const void* source,size_t num);
  • 4、void * memmove(void* destination,const void* source,size_t num);

功能及用法说明:

1、strcpy:将由source指针指示的C 字符串(包括结尾字符)复制到destination指针指示的区域中。

该函数不允许source和destination的区域有重叠,同时,为了避免溢出,destination区域应该至少和source区域一样大。

2、strncpy:复制source的前num字符到destination。

如果遇到null字符('\0'),且还没有到num个字符时,就用(num - n)(n是遇到null字符前已经有的非null字符个数)个null字符附加到destination。注意:并不是添加到destination的最后,而是紧跟着由source中复制而来的字符后面。下面举例说明(这里,需要注意strcpy仅仅复制到null字符就结束了):

    char des[] = "Hello,i am!";char source[] = "abc\0def";strncpy(des,source,5);//此时,des区域是这样的:a,b,c,\0,\0,i,空格,a,m,!  //\0,\0并不是添加在!的后面。

3、memcpy:将source区域的前num个字符复制到destination中。

该函数不检查null字符(即将null字符当作普通字符处理),意味着将复制num个字符才结束。该函数不会额外地引入null字符,即如果num个字符中没有null字符,那么destination中相应字符序列中也没有null字符。同strcpy的区别:允许将source中null字符后面的字符也复制到destination中,而strcpy和strncpy则不可以。

4、memmove:同memcpy完成同样的功能.

区别是,memmove允许destination和source的区域有重叠。而其他三个函数不允许。

    //例子:char str[] = "This is a test!";memmove(str+2,str+10,4);//此时,str变成:Thtests a test!

【C/C++】字符串函数之复制函数相关推荐

  1. 两个字符串之间的复制,不使用strcopy()函数

    1.strcopy()函数 strcopy()函数只提供字符串的复制.即strcopy()只用于字符串之间的复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符. #include <io ...

  2. R语言stringr包str_dup函数字符串多次复制实战

    R语言stringr包str_dup函数字符串多次复制实战 目录 R语言stringr包str_dup函数字符串多次复制实战 #导入stringr包 #仿真数据

  3. 不使用库函数实现字符串复制函数strCopy

    不使用库函数实现字符串复制函数strCopy算法如下: #include <stdio.h> #include <stdlib.h>char* strCopy(const ch ...

  4. 字符串复制函数strdup和_strdup

    字符串复制函数strdup和_strdup 函数原型 #include <string.h> char *strdup(const char *s); strdup()函数是c语言中常用的 ...

  5. C语言字符串复制函数strcpy()的编写与详解

    strcpy,即string copy(字符串复制)的缩写. 原型声明:char *strcpy(char *dest, const char *src); 头文件:#include <stri ...

  6. C++字符串复制函数

    今天用到字符串的复制操作,做一个以二进制的形式读一个文件,以16进制写到TXT中,再以十六进制转换成二进制写回原文件.达到复制文件的效果,同时用的是多线程,边读边写的操作. 期间做一个缓冲区用到了字符 ...

  7. C语言自定义字符串复制函数

    用C语简单实现一个字符串复制函数 /*============================================================================Name ...

  8. 详解字符串处理函数(复制、连接、比较、字符串长度函数)

    常用的字符串处理函数 字符串的输入和输出 字符串的复制.连接.比较及字符串的长度 字符串的输入和输出 输入函数: scanf(格式控制字符串,输入参数表) 格式控制说明符 %s , 输入参数 字符型数 ...

  9. 不调用C++/C字符串库函数,实现字符串复制函数strcpy

    已知strcpy的函数原型:char *strcpy(char *strDest,const char *strSrc),其中strDest是目的字符串,strSrc是源字符串.不调用C++/C的字符 ...

最新文章

  1. python使用imbalanced-learn的NeighbourhoodCleaningRule方法进行下采样处理数据不平衡问题
  2. pythonista3使用教程-Pythonista中文文档:使用Pythonista
  3. python基础学习[python编程从入门到实践读书笔记(连载二)]:外星人入侵项目
  4. web安全学习—Http协议基础
  5. 七月时忙碌而充实的_如何减少忙碌而更有效
  6. Windows安装zookeeper 单机版
  7. 数字化转型最致命的5个误区
  8. 简单用电脑摄像头实现人脸识别
  9. [转]论window和Linux之长短
  10. Aspose.Words doc转pdf 内容出现丢失,页码跳页,排版混乱问题
  11. android传感器type_orientation,android – 已弃用的Sensor.TYPE_ORIENTATION的等效替换
  12. 004 数字调制ASK,OOK,FSK,PSK,QAM,CPFSK
  13. 聪明的人脸识别4——Pytorch 利用Retinaface+Facenet搭建人脸识别平台
  14. 为什么产品经理都在考PMP?一文透析
  15. P5149 会议座位 归并
  16. 福州大学java期末试卷,Java Web认证题.doc
  17. [Scrapy教学9]一定要懂的Scrapy框架结合Gmail寄送爬取资料附件秘诀
  18. 前端资料整理--持续更新中
  19. e66java存档,1000d
  20. 吴恩达ex3_Andrew Ng在Coursera上课程ex3的一点小心得

热门文章

  1. 【ManageEngine】网络性能监控工具
  2. CSS —— background 背景
  3. css直角线_直角符号和垂直符号 过射线的端点和刚作的点,画射线
  4. TOOM舆情分析和报告工具,大数据决策免费舆情监控辅助工具?
  5. 不存在有效_【案例分析】离职确认书约定“双方不存在任何的劳动争议纠纷”这一条款是否有效? 【(2019)辽01民终14302号】...
  6. 用AS3.0开发flash版SLG游戏-1
  7. 战斗方块系统 steam服务器,steam游戏测评战斗方块剧场BattleBlockTheater
  8. 2021辽宁省赛——H制造游戏币
  9. 关于mobiscroll.js 仅显示年和月
  10. 创建目录public html,php CI如何实现全站静态生成html,动态创建目录