strcpy()函数,用于两个字符串值的复制。

(1)函数原型

char * strcpy(char * _Dest,const char * _Source);

(2)头文件

string.h

(3)功能

将从const char * _Source到'\0'结尾的字符串(包括'\0')复制到char * _Dest
所指的字符串处。
返回值char * = char * _Dest

(4)基础实例代码

    char a[30] = "12345678901234567890";
char b[]="zobol";
for(int i=0;i<30;++i)
{
printf("%d ",a[i]);//将字符数组中的所有值都输出
}
for(int i=0;i<6;++i)
{
printf("%d ",b[i]);
} strcpy(a,b);//关键函数
for(int i=0;i<30;++i)
{
printf("%d ",a[i]);
}
printf("%s\n",a);

(5)输出情况

(6)问题1:对于char * _Dest所指向字符数组,'\0'后面的值会被替换吗?

回答:不会,这个函数只指向字符串,不会自动将后面的值填充为'\0'

(7)问题2:如果char * _Des所指向的字符数组如果空间不够大,会怎么样?

回答:C语言这个函数无法得知数组的最大容量,会强制填充,有可能会污染后面的数据,发生溢出现象。

(8)问题3:为什么不直接pts1=pts2?

回答:因为在C语言中,数组的名字不是数组的“对象”,而只是指向数组第一个元素的首地址。

a=&a[0]

如有帮助,欢迎关注我的个人公众号:zobol的魔法藏书室

C语言学习之我见-strcpy()字符串复制函数的更多相关文章

  1. C语言学习之我见-strncpy()字符串复制函数(可控制范围)

    strncpy()函数,用于两个字符串值的复制. (1)函数原型 char *strncpy(char * _Dest,const char * _Source,size_t _Count); (2) ...

  2. C语言学习之我见-strlen()字符串长度函数

    strlen()函数,负责给出字符串的长度.注意是字符串的长度,不是字符数组的长度. (1)函数原型: size_t __cdecl strlen(const char *_Str); (2)头文件` ...

  3. C语言学习之我见-strncmp()字符串比较函数(控制范围)

    strncmp()函数,用于范围内,两个字符串的比较,n表示最大比较范围. (1)函数原型 int strncmp(const char *_Str1,const char *_Str2,size_t ...

  4. C语言学习之我见-strcmp()字符串比较函数

    strcmp()函数,用于两个字符串的比较. (1)函数原型 int strcmp(const char *_Str1,const char *_Str2); (2)头文件 string.h (3)功 ...

  5. C语言学习之我见-strcat()字符拼接函数(有缺陷)

    strcat()函数,用于两个字符串的拼接. (1)函数原型: char * strcat(char *Dest,const char * Source); (2)头文件: #include < ...

  6. C语言学习之我见-malloc和free内存申请及释放函数

    malloc函数负责向计算机申请确定大小的内存空间. free函数负责释放malloc的申请空间. (1)函数原型 void free(void *_Memory); void * malloc(si ...

  7. C语言学习之我见-strncat()可调整的字符串拼接函数

    strncat()函数,用于两个字符串的拼接. (1)函数原型 char * strncat(char * Dest,const char * Source,size_t _Count)` (2)头文 ...

  8. c语言学习笔记 - 指针和字符串

    前面学习了字符串是一种字符数组,又知道了指针变量和数组的关系,这里来看一下指针和字符串的关系. #include <stdio.h> int main(void){ char str = ...

  9. 吴裕雄--天生自然C++语言学习笔记:C++ 字符串

    C++ 提供了以下两种类型的字符串表示形式: C 风格字符串 C++ 引入的 string 类类型 C 风格的字符串起源于 C 语言,并在 C++ 中继续得到支持.字符串实际上是使用 null 字符 ...

随机推荐

  1. python---选择排序的实现

    选择排序 思想 ​ 一趟遍历记录最小的数, 放到第一个位置 ​ 再一趟遍历记录剩余列表中最小的数, 继续放置 关键点: ​ 无序区: 第i趟, 无序区为 i~n-1 ​ 最小数的位置 import r ...

  2. Metalama简介3.自定义.NET项目中的代码分析

    本系列其它文章 使用基于Roslyn的编译时AOP框架来解决.NET项目的代码复用问题 Metalama简介1. 不止是一个.NET跨平台的编译时AOP框架 Metalama简介2.利用Aspect在 ...

  3. java高级用法之:JNA类型映射应该注意的问题

    目录 简介 String Buffers,Memory,数组和Pointer 可变参数 总结 简介 JNA提供JAVA类型和native类型的映射关系,但是这一种映射关系只是一个大概的映射,我们在实际 ...

  4. XCTF练习题---WEB---xff_referer

    XCTF练习题---WEB---xff_referer flag:cyberpeace{9626408a4b37eab65854d8ccd22f671c} 解题步骤: 1.观察题目,打开场景 2.注意 ...

  5. 【架构视角】一篇文章带你彻底吃透Spring

    框架的意义 对于程序员来说,我们通常知道很多概念,例如组件.模块.系统.框架.架构等,而本文我们重点说 框架. 框架,本质上是一些实用经验集合.即是前辈们在实际开发过程中积攒下来的实战经验,累积成一套 ...

  6. linux下can调试工具canutils安装与使用

    0.  编译环境所需要的工具 libsocketcan-0.0.11.tar.bz2 canutils-4.0.6.tar.bz2 下载路径 https://public.pengutronix.de ...

  7. 服务器安全加固 - Linux

    一.账号和口令 1.1 禁用或删除无用账号 查看 /etc/passwd 文件查看是否有无用的账号,如果存在则删除,降低安全风险. 操作步骤: 使用命令 userdel <用户名> 删除不 ...

  8. ASP.NET视图视图表单验证

    视图表单验证 初始化项目 新建一个ASP.NET MVC的项目 新建游戏用户类: public class StemUsers { public int id { get; set; } public ...

  9. 一款高速的NET版的离线免费OCR

    PaddleOCR.Onnx 一款基于Paddle的OCR,项目使用ONNX模型,速度更快.本项目同时支持X64和X86的CPU上使用.本项目是一个基于PaddleOCR的C++代码修改并封装的.NE ...

  10. C# WPF后台动态添加控件(经典)

    概述 在Winform中从后台添加控件相对比较容易,但是在WPF中,我们知道界面是通过XAML编写的,如何把后台写好的控件动态添加到前台呢?本节举例介绍这个问题. 这里要用到UniformGrid布局 ...