首先要对参数的合法性进行校验,利用assert库函数来进行.
一.strlen
中要注意末尾的'\0',strlen是通过找'\0'来确定长度的
二.strcpy
1.拷贝的时候会把\0也一起拷贝过去
2.要求destination对应的内存空间足够大,能够容下src指向的字符串(包括\0),如果内存空间不够,就会出现越界的情况,导致未定义行为.
三.strcat
1.strcat的功能是实现字符拼接,其实相当于strcpy,只是strcpy是在字符串的起始位置,而strcat是在字符串的末尾位置
2.针对大部分的编程语言来说,字符串拼接都是使用+.
注意!!!strcat同样要求dest对应的内存空间得足够大,能够容纳下最终的拼接结果.
四.strcmp
1.通过"字典序"来比较字符串中的字符大小,"字典序"是英文单词最基本的排序方式
2.strcmp参数是俩个字符串,如果str1比str2小,返回一个<0的整数,如果str1比str2大,返回一个>0的整数,如果str1和str2一样,则返回0.
返回值并不是固定的-1或1,针对不同字符串比较的时候,返回值是几,不是很确定.但是一定能保证是<0,>0还是==0
五.strstr(字符串匹配)
判定str2是否是str1的子字符串或者说是str1是否包含str2
最终返回的结果就是第一个字符串中,str2首次出现在str1中的位置
strstr参数,分别是长的字符串和短的字符串,判定短的是否被长的包含,返回值类型是一个char*类型.
如果str1包含了str2,此时返回值的char*就指向了str1中str2首次出现的位置,如果str1中不包含str2,此时返回NULL.
我们使用"暴力搜索"的方式,把长字符串的所有可能的结果罗列出来~~
---------------------------------------------------------------------------------------------------------------------------------
以上介绍的这些字符串函数,功能都还是比较弱的,实际开发中我们往往需要更强大的字符串处理能力,那就需要借助一下第三方库函数或其他的编程语言来处理.