c语言字符串相关函数的分析

c语言中,常见的字符串相关函数主要分为两类:

1.与字符串长度无关的函数,如strcpy,strcat,strcmp。

2.与字符串长度有关的函数,如strlen,strncpy,strncat,strncmp。

strlen:

用于求字符串的长度(长度中不包含'\0)。

函数的返回值是size_t,因为长度不可能是负数。

函数的参数列表const char*dest,因为只是求长度,不会更改字符串本身,因此用const。由于字符串中元素是连续存放,因此传递首元素的地址即可。

函数的实现原理是从首字符开始,一直找到第一个'\0'的元素停止在找的过程中记录长度。

strcpy:

用于进行字符串的拷贝,将一个字符串(连同字符串中的'\0')一同拷贝到另一个字符串中类似于覆盖。

函数的返回类型是char*,是被覆盖的字符串的首元素的地址,方便进行链式访问,

函数的参数列表是 char*dest,const char*src,第一个参数是接受字符串的首地址,第二个参数是传递字符串的首地址。

函数的实现原理是从传递字符串的首元素开始,一个元素一个元素赋值到接受字符串中,直到赋值完'\0'才停止。

strncpy:

与strcpy的区别在于参数列表,返回类型相同

函数的参数列表是 char*dest,const char*src,size_t num,前两个参数与strcpy相同,最后一个参数表示只传递num个元素。若src所指向的字符串中元素不够num个,则剩余的位置全部补充'\0'。

strcat

用于字符串连接,在一个字符串的末尾处连接另一个字符串。

函数的返回类型是char*,是被覆盖的字符串的首元素的地址,方便进行链式访问,

函数的参数列表是 char*dest,const char*src,第一个参数是接受字符串的首地址,第二个参数是传递字符串的首地址。

函数的原理是找到dest所指向的字符串的尾部,将src所指向的字符串拷贝到该位置。

strncat

函数的作用和返回值与strcat相同,不同之处在于函数参数列表也有一个size_t num,表示只将num个字符接到尾部。

strcmp

用于字符串之间的比较。

函数的返回类型是size_t。

函数的参数列表是const char*str1,const char* str2,两个参数均接受将要比较的字符串的起始地址。

1.str1所指字符串大于str2所指字符串时,返回大于0的数。

2.str1所指字符串小于str2所指字符串时,返回小于0的数。

3.str1所指字符串等于str2所指字符串时,返回0.

函数原理是依次比较两个字符串所指的字符的ascii的值,一直比到第一个ascii值不同的位置,然后根据两个字符的ascii的值不同返回对应的值。

strncmp

与strcmp的区别在于只比较前num个字符。

相关推荐
微风中的麦穗2 小时前
【MATLAB】MATLAB R2025a 详细下载安装图文指南:下一代科学计算与工程仿真平台
开发语言·matlab·开发工具·工程仿真·matlab r2025a·matlab r2025·科学计算与工程仿真
2601_949146532 小时前
C语言语音通知API示例代码:基于标准C的语音接口开发与底层调用实践
c语言·开发语言
开源技术2 小时前
Python Pillow 优化,打开和保存速度最快提高14倍
开发语言·python·pillow
学嵌入式的小杨同学2 小时前
从零打造 Linux 终端 MP3 播放器!用 C 语言实现音乐自由
linux·c语言·开发语言·前端·vscode·ci/cd·vim
Aaron15883 小时前
基于RFSOC的数字射频存储技术应用分析
c语言·人工智能·驱动开发·算法·fpga开发·硬件工程·信号处理
mftang4 小时前
Python 字符串拼接成字节详解
开发语言·python
爱编码的小八嘎4 小时前
C语言对话-21.模板特化,缺省参数和其他一些有趣的事情
c语言
jasligea4 小时前
构建个人智能助手
开发语言·python·自然语言处理
kokunka4 小时前
【源码+注释】纯C++小游戏开发之射击小球游戏
开发语言·c++·游戏
云栖梦泽5 小时前
易语言开发从入门到精通:补充篇·网络编程进阶+实用爬虫开发·API集成·代理IP配置·异步请求·防封禁优化
开发语言