本节重点内容:
- 深入理解 memcmp 函数的使用
- 深入理解 memset 函数的使用
- 深入理解字符分类函数的使用
- 深入理解字符转换函数的使用
⚡memcmp
- 比较从ptr1和ptr2指针开始的num个字节。
- 返回值如下:
memcmp函数的基本使用:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<string.h>
int main()
{
int arr1[] = { 1,2,3,4,6 };
int arr2[] = { 1,2,3,4,7 };
printf("%d\n", memcmp(arr1, arr2, 16));
printf("%d\n", memcmp(arr1, arr2, 17));
return 0;
}
运行结果如下:
⚡memset
- memset是以字节为单位来进行设置,使用时要注意。
memset函数的基本使用:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<string.h>
int main()
{
char arr[] = "hello world";
memset(arr, 'x', 6);
printf("%s\n", arr);
return 0;
}
运行结果如下:
⚡字符分类函数
函数 | 如果他的参数符合下列条件就返回真 |
iscntrl | 任何控制字符 |
isspace | 空白字符:空格‘ ’,换页‘\f’,换行'\n',回车‘\r’,制表符'\t'或者垂直制表符'\v' |
isdigit | 十进制数字字符 0~9 |
isxdigit | 十六进制数字,包括所有十进制数字,小写字母a~f,大写字母A~F |
islower | 小写字母a~z |
isupper | 大写字母A~Z |
isalpha | 字母a~z或A~Z |
isalnum | 字母或者数字,a~z,A~Z,0~9 |
ispunct | 标点符号,任何不属于数字或者字母的图形字符(可打印) |
isgraph | 任何图形字符 |
isprint | 任何可打印字符,包括图形字符和空白字符 |
以上函数在使用时应引用头文件 <ctype.h> 。
举几个函数使用的例子:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<ctype.h>
int main()
{
printf("%d\n", isdigit('x'));
printf("%d\n", isdigit('6'));
printf("%d\n", isspace('x'));
printf("%d\n", isspace(' '));
printf("%d\n", islower('x'));
printf("%d\n", islower('X'));
return 0;
}
运行结果如下:
⚡字符转换函数
- 经过实验貌似这两个函数只能对单个字符进行大小写转换。
函数使用示例如下:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<ctype.h>
int main()
{
printf("%c\n", tolower('X'));
printf("%c\n", toupper('x'));
return 0;
}
运行结果如下:
写出一个代码将一句话转换为全小写输出:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<ctype.h>
int main()
{
char arr[20] = { 0 };
gets(arr); //接收字符串
int i = 0;
while (arr[i])
{
if (isupper(arr[i]))
{
arr[i] = tolower(arr[i]);
}
printf("%c", arr[i]);
i++;
}
return 0;
}
运行结果如下:
感谢大家能够看完这篇博客,创作时长,小伙伴们觉得我的博客对你有帮助,不妨留下你的点赞的收藏,关注我,带你了解不一样的C语言。