一.字符分类函数
这些函数都包含在<ctype.h>的头文件中。这些函数的参数都是int类型的,注意,char类型也属于整型家族,因此可以直接将字符当作参数使用。下面举个例子:
其他函数与此类似,可以自行尝试。
二.字符转换函数
声明:这些函数都包含在<string.h>的头文件中。
1.
这个函数的功能是将大写字母转换成小写字母,并将这个小写字母的ASCII码值返回。如果传递的参数本身就是小写字母或其他非大写字母字符,则不做任何处理,直接返回该字符的ASCII码值。
2.
toupper函数的功能是将小写字母转换成大写字母,并将这个大写字母的ASCII码返回。
具体细节和tolower函数相同。
三.字符串函数
1. strlen函数及模拟实现
strlen函数的功能是求字符串的长度(统计'\0'之前的字符的个数),所求字符串中必须包含 '\0',否则会在内存中一直向后访问,直至遇到'\0'为止。
可以看到arr2数组中因为没有以 '\0'结尾,所以打印出了烫烫烫这样的乱码,用strlen所求的长度也是不正确的。
下面我们自己模拟一个函数来实现strlen的功能:
另外,这里再介绍一种用函数递归的方法实现strlen的写法:
2.strcpy函数及模拟实现
strcpy函数的功能是将source处的字符串复制到destination处,并返回目标空间的起始地址。
注意:1.源字符串中必须包含 '\0'。
2.目标空间必须足够大,且可修改(不能是常量字符串)。
下面再模拟实现这个函数
3.strcat函数及模拟实现
这个函数的功能是在目标字符串的末尾追加字符串(包括‘\0’),并返回目标空间的起始地址。
注意:目标字符串也必须有'\0',并且目标空间必须足够大。
下面简单举个使用这个函数的例子:
思考一下如果想要实现这个函数我们需要2个·步骤:
1.找到目标空间的'\0'。
2. 追加字符串。
接下来我们自己做一个有这样功能的函数:
4.strcmp函数及模拟实现
strcmp函数的功能是比较两个字符串的大小,如果第一个字符串小于第二个字符串就返回一个小于0的数,大于第二个字符串就返回一个大于0的数,相等就返回0.
注意:这里比较大小不是比较两个字符串的长度,而是比较对应位置上字符的ASCII码值的大小
例如:
可以看到第一个字符串的长度是比第二个要长的,但是最后却返回了一个负数,说明这个函数的比较大小方式不是比较长度。
下面我们自己实现一个函数:
以上就是本节的所以内容,感谢收看。
下节会继续讲解和这些字符串函数功能类似但更加安全的函数。如果感觉有所收获,请王子公主们点赞加关注。
欲知后事如何,请待下回分解!