strcpy与strncpy的实现
目录
(一)strcpy的实现
1.函数的声明;
2. 函数的头文件;
4.strcpy的函数使用
4.1结果;
5.my_strcpy的实现;
(二)strncpy的使用
1.strncpy的声明:
2.strncpy的头文件
3.strncpy的使用
4.结果;
5.my_strncpy的实现
(一)strcpy的实现
strcpy的作用是将源字符串拷贝到目的地的字符串中(覆盖)
在cplusplus中
1.函数的声明;
2. 函数的头文件;
#include<string.h>
4.strcpy的函数使用
strcpy函数是将一个字符串的全部内容(包括'\0')拷贝到另一个字符串里。
int main()
{char arr1[30] = "#############";char arr2[10] = "zzdqs";strcpy(arr1, arr2);printf("%s\n", arr1);printf("%s\n", arr2);
}
4.1结果;
5.my_strcpy的实现;
asser是断言判断传递过来的是否为空指针
函数需要返回到原dest的地址
所以将dest的地址存入一个指针ret中;
循环实现dest和sour中值的覆盖(此时dest的空间需要足够大)
当*sour的内容为‘\0’时结束循环;然后返回ret;
#include<assert.h>
char* my_strcpy(char* dest, const char* str)
{assert(*dest != NULL);assert(*str != NULL);char* ret = dest;while (*dest++ = *str++){;}return ret;
}int main()
{char arr1[] = "abcdefghi";char arr2[] = "zzp";my_strcpy(arr1, arr2);printf("%s\n", arr1);printf("%s\n", arr2);return 0;
}
(二)strncpy的使用
1.strncpy的声明:
在strcpy的基础上按个数覆盖
2.strncpy的头文件
#include<string.h>
3.strncpy的使用
int main()
{char arr1[30] = "abcdef";char arr2[20] = "ghij";int num = 4;printf("%s\n", strncpy(arr1, arr2, num));return 0;
}
4.结果;
5.my_strncpy的实现
以num给定的数 复制源字符串到目的地上;
//模拟实现strncpy
char* my_strncpy(char* dest, char* sour, size_t num)
{char* p = dest;while (num){*dest++ = *sour++;num--;}return p;
}
int main()
{char arr1[30] = "abcdef";char arr2[20] = "ghij";int num = 4;printf("%s\n", my_strncpy(arr1, arr2, num));return 0;
}
strcpy与strncpy的实现相关推荐
- strcpy和memcpy的区别 | strcpy和strncpy的区别
strcpy和memcpy都是标准C库函数,它们有下面的特点. strcpy提供了字符串的复制.即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符. 已知strcpy ...
- strcpy和strncpy区别 memcpy strcpy strncpy lstrcpy lstrncpy wstrcpy, memmove
strcpy和strncpy区别(2009-04-27 15:48:52) 转载标签:杂谈 分类:C++/C 第一种情况: char* p="how are you ?"; cha ...
- C语言 - strcpy和strncpy的编程实现及总结
一.字符串的strcpy与strncpy函数 1.编程实现strcpy函数(笔试很容易考到) 要求: 原型:char *stpcpy(char *strDest,char *strSrc); 头文件: ...
- strcpy()与strncpy()的区别
头文件:#include <string.h> strcpy() 函数用来复制字符串,其原型为: char *strcpy(char *dest, const char *src); [参 ...
- strcpy()、strncpy()函数
本片博客简单写下关于strcpy().strncpy()两函数的用法.区别及使用时需要注意的地方. 一.使用介绍 1. strcpy()函数用法 char * strcpy ( char * dest ...
- stpcpy和stpncpy用法 strcpy和strncpy用法
文章目录 strncpy, strncpy_s参考文档用法 strcpy, strncpy实例 strcpy, strncpy用法举例 运行结果 stpcpy()和stpncpy()用法上的区别(C语 ...
- strcpy和strncpy用法和区别
1. strcpy函数: 顾名思义字符串复制函数:原型:extern char *strcpy(char *dest,char *src); 功能:把从src地址开始且含有NULL结束符的字符串赋值到 ...
- strcpy与strncpy的安全版本
char* src = new char[10]; memset(src, 1, 10); char* dest = new char[20]; strcpy(dest, src); 在这个例子中,我 ...
- C语言——数组、字符串处理函数、strlen、strcpy和strncpy、strcat和strncat、strcmp和strncmp
目录 一.数组 1.定义:类型 数组名[元素个数] 2.数组不能动态定义 3.如何访问数组中的元素:数组名[下标] 4.循环与数组的关系 5.数组的初始化 二.C99标准中的数组 三.字符串处理函数 ...
- strcpy和strncpy的使用以及strcpy的模拟实现(三种方法)
前言:Hello!大家好,我是@每天都要敲代码:上一讲对于strlen库函数的使用和三种模拟实现方法相信大家都很熟悉了,strlen库函数是用来求字符串的长度,遇到'\0'终止:所需头文件是<s ...
最新文章
- Vue-router(三) 参数传递
- 用VB.net开发.NET Micro Framework
- tensorflow 读取cifar_浅入浅出TensorFlow 4 - 训练CIFAR数据
- 解决报错: Connecting to Kong on http ... Could not reach Kong on http://xxx.xxx.xxx.xxx:8001
- Gallery:收集一些用于展示一组图片的javascript控件
- Bezier(贝塞尔)曲线的轨迹规划在自动驾驶中的应用(二)
- iPhone 11终于没涨价但依然暴利 外媒:64GB起始容量就是个笑话
- bokeh python_Python Bokeh数据可视化教程
- 4、根据前序和中序,重建二叉树
- php圆角的度数计算公式,弧度和角度的换算器(度数换算计算器)
- android自动计步_Android计步模块实例代码(类似微信运动)
- 【CSS手册】css
- 初等变换:矩阵与行列式
- 如何使用自己的云服务器做代理服务器
- kubeadm部署kubernetes
- 7. django应用及分布式路由
- pytorch中的神经网络模块基础类——torch.nn.Module
- flannel 介绍(UTP、VXLAN、Host Gateway模式详解)
- 视频加密大全服务条款
- 【ansys workbench】1.零件分析基本思路讲解
热门文章
- 清华姚班学生ICML一人署名论文:协作学习的鲁棒性方法
- 十年Java架构师分享
- 如何做到两台电脑网线直连
- handler相关学习(三)handler必背
- 《Android开发源码精编解析》最新PDF版开源,安卓工程师进阶实战
- linux解压xz文件
- 荣耀十支持鸿蒙OS,不是所有华为荣耀手机都能升级华为鸿蒙OS,只有这48款才行...
- 计算机系统未来发展方向论文,浅谈计算机未来发展趋势(期末论文)
- plsql连接远程数据库时报ORA-01017:用户名、口令无效;登录被拒绝
- Navicat Premium 12.0.22安装与激活