C语言string库strcpy、strcmp、strcat函数详解
strcpy
即string copy
语法格式为strcpy(str1, str2), 作用是将str2赋值给str1
使用方法类似于
char str1[10], str2[] = "abc";
strcpy(str1, "bcd");
strcpy(str1, str2);
printf("%s", str1); // abc
str2可以是字符串, 也可以是字符串首地址(指针)。
strcpy会从传入的地址开始写入, 如代码为strcpy(str1+1, str2)
,程序会从str1第二个元素开始写入str2的值
值得注意的是, strcpy将指定内容添加到字符串中后, 会在末尾添加一个空字节‘\0’, 以表示字符串结束。
如
char str[5] = "abcde";
strcpy(str, "xyz");
因此,使用strcpy将某字符串的内容赋予长度为n的字符串时, 被复制的字符串长度最大为n-1(留一个位置给’\0’),否则会有溢出的报错类似:builtin_memcpy’ writing 11 bytes into a region of size 10 overflows the destination 。
strcat
strcat(str1, str2)
将str2拼接到str1的末尾
char str[10] = "abc";
strcat(str ,"cde");
printf("%s", str); // abccde
使用strcat(str1, str2)时, 程序会从str1第一个空字节开始将str2的内容写入, 并在末尾重写空字节。
所以, str1中必须有足够的空间来放入str2,即str1原先内容后面至少要有strlen(str2)+1个字节。
strcmp
即string compare
用于比较两个字符串。
规则是从两个字符串第一个字符开始比较(ascii), 若相同则比较下一个字符,直到不同为止;若str1对应位置的字符的ascii值小于str2的, 返回一个负整数(一般为-1, 取决于系统, 有的会返回ascii码的差值),反之返回一个正整数(1);若两个字符串的长度和每个字符都相同, 则返回0。
参考:
strcat
strcmp
C语言string库strcpy、strcmp、strcat函数详解相关推荐
- C语言strcpy、strcnpy函数详解
C语言strcpy.strcnpy函数详解 一.strcpy函数 1.函数原型 2.参数.返回值解析 3.注意事项 4.strcpy函数模拟实现 二.strncpy函数 1.函数原型 2.与strcp ...
- timm 视觉库中的 create_model 函数详解
timm 视觉库中的 create_model 函数详解 最近一年 Vision Transformer 及其相关改进的工作层出不穷,在他们开源的代码中,大部分都用到了这样一个库:timm.各位炼丹师 ...
- strcat函数详解看这一篇就够了-C语言(函数实现、使用用法举例、作用、与strncat的区别)
首先要明确strcat的功能是:将参数dest字符串和参数src字符串拼接起来 目录 函数介绍 与strncat的区别 函数实现: 用法示例: 结果展示: 函数介绍 函数原型:char* strcat ...
- 【Kotlin】Kotlin 语言集合中的高阶函数详解 ( 数据类 data class | maxBy | minBy | filter | map | any | count | find )
文章目录 I . List 集合高阶函数引入 II . Kotlin 数据类 ( data class ) III . Java 代码 与 Kotlin 代码实现对比 ( 查询年龄最大的 ) IV . ...
- 【C库函数】strcat函数详解
目录 strcat 函数原型 参数讲解 返回值详解 函数讲解 (1)源字符串和目标字符串都必须以'\0'结束 (2)目标空间必须足够大,能容纳下源字符串的内容 (3)目标空间必须可修改 strcat ...
- c语言insert作用,C++string中的insert()插入函数详解
下面通过代码给大家介绍c++ string insert() 函数,具体内容如下: basic_string& insert (size_type pos, const basic_stri ...
- C语言fseek、ftell和rewind函数详解
对于文件的读写方式,C 语言不仅支持简单地顺序读写方式,还支持随机读写(即只要求读写文件中某一指定的部分).对顺序读写方式来说,随机读写方式需要将文件内部的位置指针移动到需要读写的位置再进行读写,这通 ...
- c语言实现新建目录函数,C语言中改变目录的相关操作函数详解
C语言fchdir()函数:改变当前工作目录头文件: #include 定义函数: int fchdir(int fd); 函数说明:fchdir()用来将当前的工作目录改变成以参数fd 所指的文件描 ...
- 计算机视觉开源库OpenCV之threshold()函数详解
cv2.threshold()函数作用:去掉噪,例如过滤很小或很大像素值的图像点. cv2.threshold()函数python版原型: retval, dst = cv.threshold(src ...
最新文章
- 浙江大学软件学院2020年保研上机模拟练习 7-2 Distance of Triples
- linux php安装RabbitMq扩展
- 【NLP-ChatBot】搜索引擎的最终形态之问答系统(FAQ)详述
- OpenCV拼接细节stitching detailed的实例(附完整代码)
- 物联网核心协议—消息推送技术演进
- 音视频低延迟应用的四个技术实践
- linux之用 grep -r 关键字 快速搜索在目录下面的含有关键字的文件
- 这几道挑战极限的烧脑题,烧脑到爽爽爽爽爽!
- 各种服务常用端口号的含义
- putty连上l虚拟机中的linux要点
- Mac下Intellij IDea发布JavaWeb项目 详解一 (1、新建JavaEE Project并进行相应设置 2、配置tomcat)...
- 搭建邮件系统,采用sendmail+dovecot+openwebmail架构
- 学生社区(学校交流社区)网站源码推荐
- 像中文的罗马音字体复制_罗马音大全可复制app
- 线性代数【10】 相似矩阵
- 坐拥深圳7栋房,月收租60万!房东却选择开出租……
- 壁纸|苹果Live壁纸以及静态壁纸,给大家分享点
- C语言的s8数据结构
- 了解ESP32睡眠模式及其功耗
- 诱惑视频木马样本态势