总结部分string库函数

本文详细介绍了C语言中常用的字符串函数,如strlen、strcpy、strcat等的功能与使用方法,并解释了字符操作函数如isspace、isdigit等的作用。此外,还讨论了内存操作函数及其区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

求字符串长度

strlen

  • 以‘\0’为结束标志,返回值为‘\0’前的字符个数
  • 函数的返回值时无符号int

长度不受限制的字符串函数

strcpy

  • 源字符串以’\0’为结尾
  • 会将源字符串的’\0’拷贝到目标空间里
  • 目标空间必须足够大,以确保能够存放源字符串

strcat

  • 源字符串以’\0’结尾
  • 目标空间必须足够大,以确保存放的下源字符串
  • 目标空间必须可修改

strcmp

  • 如何比较:优先比较ascii码,后比较长度。
  • str1 > str2 返回值: >0
  • str1 = str2 返回值: =0
  • str1 < str2 返回值: <0

长度受限制的字符串

strncpy

  • 会将源字符串的num个字符拷贝到目标空间
  • 不会拷贝’\0’
  • 如果源字符串的长度小于num,则在拷贝结束之后,在目标的后面追加0,直到num个。

strncat

  • 将源字符串的num个字符拼接至目标字符串后面,并且会拷贝’\0’
  • 如果源字符串的个数小于num个,只拷贝至’\0’

strncmp

  • 比较到出现一个字符串结束或是num个字符全部比较完。
  • 返回值同strcmp一样

字符串查找

strchr
- 在字符串中查找第一次出现的该字符,并返回该处地址

strrchr
- 在字符串中查找最后一次出现的该字符,并返回该地址

strbrk
- 返回第一个字符串中第一次出现在第二个字符串中的字符地址

strstr

  • 返回第二个字符串中第一次出现第一个字符串的地址
  • (判断str1是否是str2的字串)

高级字符串查找

strspn
- 返回的是str1字符串中开始部分匹配str2字符串中字符的个数

strcspn
- 返回str1字符串中开始部分出现的不在str2字符串中的字符个数

strtok

  • char strtok(char *str,const char sep)
  • sep是一个字符串,定义了用作分隔符的字符集合
  • 第一个参数是一个字符串,包含了0个或者多个由sep字符串中一个或多个分隔符分割的标记
  • 找到str下一个标记,并将其用\0结尾,返回该地址
  • 第一个参数不为NULL,函数将找到str中第一个标记,strtok函数将保存它在字符串的位置
  • 第一个参数为NULL,函数将在同一个字符串中被保存的位置开始,查找下一个标记。
  • 如果字符串不存在更多标记,则返回NULL指针。

错误信息报告

strerror

  • 返回错误码,所对应的错误信息
  • 函数与程序退出时都需要判断是否执行成功:
    程序使用推出码
    函数使用返回值:0即成功,非0失败
  • 必须包含的头文件:#include

字符操作函数

  • iscntrl:任何控制字符
  • isspace:空白字符
  • isdigit:十进制数字0~9
  • isxdigit:十六进制数字
  • islower:小写字母(a~z)
  • issupper:大写字母(A~Z)
  • isalnum:字母或数字,a~z,A~Z或0~9
  • isalpha:a~z,A~Z
  • ispunct:标点符号,任何不属于数字或字母的图形字符
  • isgraph:任何图形字符
  • isprint:任何可打印字符,包括图形字符和空白字符

内存操作函数

  • memset
  • memcpy
  • memmove
  • memcmp
  • memchr
  • 以上函数均以字节操作
  • memmove与memcpy的区别就是memmove处理的源与内存是可以重叠的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值