一.字符函数——头文件ctype.h
1.字符函数分类
isdigit 十进制数字'0'~'9'
islower 小写字母
isupper 大写字母
isspace 空白字符
2.案例:islower
3.字符转换函数
int tolower(int c);//大写字母转小写
int toupper(int c);//小写字母转大写
二.字符串函数——头文件string.h
1.strlen统计字符串个数
A.strlen的使用
size_t strlen(const char* str);
\\统计'\0'之前的字符个数
\\%zd——size_t(无符号的)
\\strlen返回类型为size_t(无符号的)
(strlen("abcd") - strlen("abcde")) > 0;
//无符号值减去无符号值,其结果仍是无符号值
B.strlen的模拟实现
B.1 计数器实现
B.2 指针运算
B.3 递归
2.strcpy拷贝字符串
char*strcpy(char* destination,const char*source);
//将source里面的字符串拷贝到destination
A.strcpy的使用
注意点:源字符串必须有‘\0’,没有‘\0’,字符串拷贝无法结束
目标空间必须足够大,能够容纳源字符串
目标空间可修改
B.strcpy的模拟实现
3.strcat字符串追加
A.strcat的使用
B.strcat的模拟实现
找到目标空间末尾的'\0',从'\0'开始追加
再将源字符串拷贝到目标空间
源字符串必须有'\0'
C.C标准库中strcat不保障自己追加自己
4.strcmp字符串比较
int strcmp(const char*str1,const char*str2)
比较的不是字符串的长度,而是对应字符的ASCII码值
A.strcmp的使用
C标准库规定str1大于str2,返回大于0的数;str1等于str2,返回0;srt1小于str2,返回小于0的数
B.strcmp的模拟实现