1 字符分类函数
专门做字符分类的函数,就是一个字符属于什么类型的函数,需要包含头文件<ctype.h>.
例如:将字符串的小写字母转为大写字母
int islower (int c);
islower 是判断参数部分c是否为小写字母
2 字符转换函数
int tolower ( int c ); 将传进去的大写字母转小写。
int toupper ( int c );将传进去的小写字母转大写。
3 strlen 的使用和模拟实现
size_t strlen(const char * str);
字符串以'\0'作为结束标记,strlen函数返回的是字符串在'\0'之前出现的字符个数。(不包括'\0')。
需要包括头文件string.h
strlen的模拟实现
方式一:使用计数器
方式二:使用递归
方式三:指针减指针
4 strcpy的使用和模拟实现
char* srecpy(char* destination , const char* source)
字符串的复制
1,原字符串必须以'\0'结束
2,目标空间必须可修改
strcpy模拟实现
5 strcat的使用和模拟实现
追加字符串
目标空间必须足够大,能容纳下源字符串的内容
strcat模拟实现
6 strcmp的使用和模拟实现
第一个字符串大于第二个字符串,返回大于0的数字。
第一个字符串等于第二个字符串,返回0。
第一个字符串小于第二个字符串,返回小于0的数字。
(比较的是两个字符串对应位置上的字符的ASCLL码值)。
strcmp的模拟实现
7 strncpy函数的使用
char * strncpy ( char* destination, char* source,size_t num)
拷贝num个字符从源字符到目标空间
如果源字符串的长度小于num,则拷贝完源字符串后在目标后面追加0,直到num个
8 strncat函数的使用
char * strncat(char * destination ,char * source ,size_t num)
将source指向字符串的前num个字符追加到destination指向的字符串末尾,再追加一个\0
如果source指向的字符串的长度小于num的时候,只会将字符串中到\0的内容追加到destination指向的字符串末尾。
strncat的模拟实现
9 strncmp函数的使用
int strncmp (const char* str1,const char* str2,size_t num)
比较str1和str的前num个字符,如果相等就继续往后比较,最多比较num个字母,如果提前发现不一样,就提前结束,大的字符所在的字符串大于另一个。如果num个字符都相等,就是相等返回0。
10 strstr的使用和模拟
char * strstr ( const char * str1,const char * str2 )
函数返回字符串str2在字符串strt1中第一次出现的位置。
字符串的比较匹配不包含\0字符,以\0作为结束标记。
模拟实现
11 strtok的使用
char * strtok ( char * str , const char * sep)
sep参数指向一个字符串,定义了用做分隔符的字符集合。
第一个参数指定一个字符串,他包含了0个或多个由sep字符串中一个或多个分隔符分割的标记。
strtok函数找到str的下一个标记,并将其用\0结尾,返回一个指向这个标记的指针。(注:strtok函数会改变被操作的字符串,所以在使用strtok函数切分的字符串一般都是临时拷贝的内容并且可修改。)
strtok函数的第一个参数不为NULL,函数将找到str中第一个标记,strtok函数将保存他在字符串中的位置。
strtok函数的第一个参数为NULL,函数将在同一个字符串中被保存的位置开始,查找下一个标记。
如果字符串中不存在更多的标记,则返回NULL指针。
12 strerror函数的使用
char * strerror ( int errnum );
strerror函数可以把参数部分错误码对应的错误信息的字符串地址返回来。
头文件error.h
perror函数