目录
strlen 计算字符串长度
计算遇到\0之前的字符个数
- 所计算的字符串必须得有\0,不然停不下来
- 返回值是Size_t 是无符号类型
____________________________________________________________________________
strcpy 复制粘贴
返回值为char* 这样能链式访问
Strncpy
与之相比多了一个长度限制,不足的替换成\0
memcpy
强制转换只是临时的,(char*)dest++ 这样写不行
不能把12345拷贝到34567 会变成121212的
与strcpy差不多,不过可以任意类型,限制是字节数
menmove
比mencpy多了个能够拷贝重叠的功能,一般都使用menmove就行
___________________________________________________________________________
strcat 追加
最好不要自己给自己追加
跟strcpy差不多,起始位置变了,然后就是被追加的字符串也需要有\0
Strncat
多了个数限制 不过和 strncpy 不同的是如果只有3个,限制是5个,只会在3个追加完后补一个\0,而不是2个,有3个限制是2个,也是追加2个之后补一个\0
____________________________________________________________________________
strcmp 字符串比较
Strncmp
只比较前n个 ,同样也是多了个数限制
mencmp
与stecmp相比,能比较所有类型的
_____________________________________________________________________________
strstr
在p1里找p2第一次出现的位置,返回这个地址,如果p1里没有p2,则返回空指针
另一种方法kmp算法,更快,但也复杂一些
____________________________________________________________________________
strtok 分割
Strtok 分隔 例如 123*34 5**435*——》把要去掉的变成\0,一次去一个,去完返回去掉的字符的地址,如果该地址不为空指针,下次调用函数且参数是null时,继续上一次的位置开始
进阶用法,一次一次调用太麻烦
____________________________________________________________________________
strerror 错误翻译
Strerror 翻译错误码,出现错误时系统会给一个数到error变量中,但是这个不能打印
Perror 更加高级,翻译加打印,()里还能自定义
____________________________________________________________________________
判断类型
例如 isdigit(‘2’) 真返回非零,假返回零。。。。。等等
____________________________________________________________________________
字符转换
Tolower 把大写变小写,小写不变,另一个相反