【C语言进阶:刨根究底字符串函数】 strcpy 函数
创始人
2024-06-03 20:54:33
0

本节重点内容:

  • 深入理解strcpy函数的使用
  • 学会strcpy函数的模拟实现

⚡strcpy

  • Copies the C string pointed by source into the array pointed by destination, including the
    terminating null character (and stopping at that point).
  • 源字符串必须以 '\0' 结束。
  • 会将源字符串中的 '\0' 拷贝到目标空间。
  • 目标空间必须足够大,以确保能存放源字符串。
  • 目标空间必须可变。

strcpy的基本使用:

#define _CRT_SECURE_NO_WARNINGS
#include 
#includeint main()
{char arr1[] = "abcdef";char arr2[20] = { 0 };strcpy(arr2, arr1);//将arr1的数据拷贝到arr2中printf("%s\n", arr2);return 0;
}

运行结果如下:

 下面来举几个相关的例子:

1. 源字符串必须以 '\0' 结束,否则无法进行正确拷贝。

#define _CRT_SECURE_NO_WARNINGS
#include 
#includeint main()
{char arr1[] = { 'a','b','c' };char arr2[20] = "xxxxxxxx";strcpy(arr2, arr1);printf("%s\n", arr2);return 0;
}
//此程序会崩溃

2. strcpy会将源字符串中的 '\0' 拷贝到目标空间。

#define _CRT_SECURE_NO_WARNINGS
#include 
#includeint main()
{char arr1[] = "abc\0def";char arr2[20] = "xxxxxxxx";strcpy(arr2, arr1);printf("%s\n", arr2);return 0;
}

代码运行结果如下:

 3. 目标空间必须足够大,以确保能存放源字符串。

#define _CRT_SECURE_NO_WARNINGS
#include 
#includeint main()
{char arr1[] = "abcdef";char arr2[3] = { 0 };strcpy(arr2, arr1);printf("%s\n", arr2);return 0;
}

 程序报错:

 4. 目标空间必须可以修改。

#define _CRT_SECURE_NO_WARNINGS
#include 
#includeint main()
{char* p = "abcdef"; //指针所指向的字符串为常量字符串,其内容不能被修改。char arr2[20] = "JX_BC";strcpy(p, arr2);printf("%s\n", arr2);return 0;
}
//该程序会崩溃

⚡模拟实现strcpy函数

#define _CRT_SECURE_NO_WARNINGS
#include 
#include//返回目标空间的起始位置
char* my_strcpy(char* dest, const char* src)//源头的数据不能发生变化,因此加上const进行保护
{char* start = dest;assert(dest && src);//断言保证两个指针有效while (*dest++ = *src++){;}return start;
}int main()
{char arr1[] = "abcdef";char arr2[20] = { 0 };my_strcpy(arr2, arr1);printf("%s\n", arr2);//printf("%s\n", my_strcpy(arr2, arr1));return 0;
}

代码运行结果如下:


感谢大家能够看完这篇博客,创作时长,小伙伴们觉得我的博客对你有帮助,不妨留下你的点赞的收藏,关注我,带你了解不一样的C语言。

98b76a6f4a9c4ca88fd93da1188ac6f9.gif

相关内容

热门资讯

windows安装系统组件下载... Windows系统组件下载指南随着计算机技术的不断发展,Windows操作系统已经成为广大用户的首选...
windows创建恢复系统,W... Windows系统恢复系统的创建与使用指南随着电脑在日常生活中的广泛应用,系统故障和崩溃的情况也时有...
windows安装ai系统,从... Windows系统安装AI系统:从入门到实战一、了解AI系统AI系统是指基于人工智能技术构建的软件系...
windows光盘系统修复系统... Windows光盘系统修复系统文件全攻略在电脑使用过程中,系统文件损坏或丢失是常见的问题,这可能导致...
windows的系统自带游戏下... Windows系统自带游戏下载软件:重温经典,体验乐趣一、Windows系统自带游戏概述 扫雷:一...
windows官方安装系统教程... Windows官方安装系统教程:轻松升级至纯净版系统一、前期准备在开始安装Windows系统之前,我...
办公室照明系统安装,打造高效节... 办公室照明系统安装指南:打造高效节能的办公环境一、照明系统设计 照明需求分析:根据办公室的功能...
安卓系统如何安装app,安卓系... 安卓系统如何安装APP——全面指南随着智能手机的普及,安卓系统因其开放性和丰富的应用生态而受到广大用...
windows服务系统不可用 解决Windows 7中诊断策略服务已被禁用的问题,可以按照以下步骤进行:1. 开启服务: - ...
windows98多任务操作系... Windows 98 多任务操作系统的定义与特点Windows 98,作为微软公司推出的一款经典操作...
清华同方 硬盘安装系统,清华同... 清华同方硬盘安装系统全攻略一、准备工作在进行硬盘安装系统之前,我们需要做好以下准备工作: 准备安装...
windows磁盘阵列安装系统... Windows磁盘阵列安装系统的详细指南随着服务器性能需求的不断提升,磁盘阵列(RAID)技术因其提...
windows操作系统的经典开... Windows操作系统的经典开机音乐:唤起回忆的旋律自1985年微软推出第一代Windows操作系统...
windows比其他系统吗,为... Windows系统:为何成为全球首选?在众多操作系统之中,Windows系统凭借其强大的功能和广泛的...
宝马320安装智能系统,宝马3... 宝马320升级智能系统——体验科技驾驶新境界一、宝马320智能系统概述宝马320的智能系统主要包括以...
Windows95系统的图标,... Windows 95系统图标:经典与创新并存的历史见证在计算机操作系统的发展史上,Windows 9...
windows操作系统 稳定,... Windows操作系统稳定性解析:构建可靠的工作环境在当今数字化时代,操作系统作为计算机的核心,其稳...
宝来监控系统安装,提升行车安全... 宝来监控系统安装指南:提升行车安全与便利性一、宝来监控系统概述宝来监控系统主要包括倒车影像、行车记录...
巴南高端门窗系统安装,巴南高端... 巴南高端门窗系统安装,打造品质生活新体验随着人们生活水平的不断提高,对于家居环境的要求也越来越高。高...
windows操作系统作用是什... Windows操作系统的作用与重要性在当今的计算机世界中,Windows操作系统无疑是最受欢迎和广泛...