【C/C++】字符函数和字符串函数
文章目录
- 前言
- 字符函数和字符串函数
- 1.字符分类函数
- 2.字符转换函数
- 3.strlen的使用和模拟实现
- 3.1 代码演示
- 3.2 strlen返回值
- 3.3 strlen的模拟实现
- 4.strcpy的使用和模拟实现
- 4.1 代码演示
- 4.2 模拟实现
- 5.strcat的使用和模拟实现
- 5.1 代码演示
- 5.2 模拟实现
- 6.strcmp的使用和模拟实现
- 6.1 代码演示:
- 6.2 模拟实现:
- 7.strncpy函数的使用
- 7.1 代码演示
- 7.2 ⽐较strcpy和strncpy函数
- 8.strncat函数的使用
- 8.1 代码演示
- 8.2 strcat和strncat对比
- 9.strncmp函数的使用
- 9.1 代码演示
- 9.2 strcmp和strncmp⽐较
- 10.strstr的使用和模拟实现
- 10.1 代码演示
- 10.2 strstr的模拟实现
- 11.strtok函数的使用
- 11.1 代码演示
- 11.2 注意事项
- 12.strerror函数的使用
- 12.1 代码演示
- 12.2 perror
前言
在编程的过程中,我们经常要处理字符和字符串,为了⽅便操作字符和字符串,C语⾔标准库中提供了 ⼀系列库函数,接下来我们就学习⼀下这些函数。
字符函数和字符串函数
1.字符分类函数
C语⾔中有⼀系列的函数是专⻔做字符分类的,也就是⼀个字符是属于什么类型的字符的。 这些函数的使⽤都需要包含⼀个头⽂件是 ctype.h
这些函数的使⽤⽅法⾮常类似,我们就讲解⼀个函数的事情,其他的⾮常类似:
int islower ( int c );
islower 是能够判断参数部分的 c 是否是⼩写字⺟的。 通过返回值来说明是否是⼩写字⺟,如果是⼩写字⺟就返回⾮0的整数,如果不是⼩写字⺟,则返回 0。
练习:
写⼀个代码,将字符串中的⼩写字⺟转⼤写,其他字符不变。
#include #include int main () { int i = 0; char str[] = "Test String.\n"; char c; while (str[i]) { c = str[i]; if (islower(c)) c -= 32; putchar(c); i++; } return 0; }
也可以写成
while(str[i]!='\0') { if(islower(str[i])) { str[i]=toupper(str[i]); } i++; }
2.字符转换函数
C语⾔提供了2个字符转换函数:
int tolower ( int c ); //将参数传进去的⼤写字⺟转⼩写 int toupper ( int c ); //将参数传进去的⼩写字⺟转⼤写
上⾯的代码,我们将⼩写转⼤写,是-32完成的效果,有了转换函数,就可以直接使⽤ tolower 函 数。
#include #include int main () { int i = 0; char str[] = "Test String.\n"; char c; while (str[i]) { c = str[i]; if (islower(c)) c = toupper(c); putchar(c); i++; } return 0; }
3.strlen的使用和模拟实现
size_t strlen ( const char * str );//size_t是无符号整型
功能:统计参数 str 指向的字符串的⻓度。统计的是字符串中 ‘\0’ 之前的字符的个数。
参数:
• str :指针,指向了要统计⻓度的字符串。 返回值:返回了 str 指向的字符串的⻓度,返回的⻓度不会是负数,所以返回类型是 size_t 。
if((strlen("abc")-strlen("abcdef"))>0)//size_t为无符号整型,所以3-6一定大于0 { printf(">\n");//所以输出> } else { printf("
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。