字符函数和字符串函数的使用
1.islower 使用
2.isdigit使用
3.将小写字母转化成大写字母
4.strncpy使用
5.strncat使用
6.strncmp使用
7.strtok使用
8.strlen的使用
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <ctype.h>
1.islower使用
int main()
{
int ret = islower('a');//判断字符是否是小写字母
printf("%d\n", ret);
int ret1 = isupper('A');//判断字符是否是大写字母
printf("%d\n", ret1);
return 0;
}
2.isdigit使用
int main()
{
int ret = isdigit('9');//判断字符是否是数字
printf("%d\n", ret);
int ret1 = isdigit('A');
printf("%d\n", ret1);
return 0;
}
3.将小写字母转化成大写字母
int main()
{
char arr[] = "I am a boy";
int i = 0;
while (arr[i] != '\0')
{
if (islower(arr[i]))
{
arr[i]=toupper(arr[i]);//arr[i]-=32
}
i++;
}
printf("%s\n", arr);
return 0;
}
int main()
{
char arr[] = "I am a boy";
char *start = arr;
while (*start != '\0')
{
if (islower(*start))
{
*start = toupper(*start);//arr[i]-=32
}
start++;
}
printf("%s\n", arr);
return 0;
}
4.strncpy使用
int main()
{
char arr[20] = "abc";
char arr1[20] = {0};
strncpy(arr1, arr, 4);
printf("%s", arr1);
return 0;
}
5.strncat使用
int main()
{
char arr[20] = "abc";
char arr1[20] = "defg";
strncat(arr, arr1, 3);
printf("%s", arr);
return 0;
}
6.strncmp使用
int main()
{
char arr[20] = "abcf";
char arr1[20] = "abcd";
int ret=strncmp(arr, arr1, 4);
printf("%d", ret);
return 0;
}
7.strtok使用
int main()
{
char arr[20] = "abc@123.com";
char arr1[20] = {0};
strcpy(arr1, arr);
char* sep = "@.";
char* ret = NULL;
for (ret = strtok(arr1, sep); ret != NULL; ret = strtok(NULL, sep))
{
printf("%s\n", ret);
}
return 0;
}
8.strlen的使用
int main()
{
char arr[20] = "abc";
char arr1[20] = "abcd";
if (strlen(arr) - strlen(arr1) > 0)
{
printf(">\n");
}
else
{
printf("<=\n");
}
return 0;
}
//运行结果:>
//正常是"abc"<"abcd" 执行printf("<=\n")才对呀 这是因为strlen(arr) - strlen(arr1) =3-4=-1 //strlen()返回结果是无符号整形 size_t 在计算机存储的是-1的反码,会把-1当作无符号整形 这时符
//号位不在是符号位 -1的反码是一个很大的正整数
//所以要想比较 必须要无符号整形 size_t 强制转化为 int 类型
int main()
{
char arr[20] = "abc";
char arr1[20] = "abcd";
if ((int)strlen(arr) - (int)strlen(arr1) > 0)//也可以这样if (strlen(arr) > strlen(arr1))
{
printf(">\n");
}
else
{
printf("<=\n");
}
return 0;
}