【字符函数和字符串函数】

【字符函数和字符串函数】

1.函数的使用
2.部分函数的模拟实现(工作原理)

字符分类函数

ag1.

c 复制代码
#include<stdio.h>
#include<ctype.h>
int main()
{
	int r = isdigit('5');//返回的是非0值
	int p = isdigit('r');
	printf("%d %d\n", r,p);//非0值  0
	int m = islower('x');
	int n = islower('X');
	printf("%d %d", m,n);//非0值  0
	return 0;
}

练习1 将字符串中的小写字母转成大写,其他的不变

注a-97 A-65 b-98 B-66所以小写-32=大写

c 复制代码
int main()
{
	char arr[] = "abCdEf1g2H3q#78";
	int i = 0;
	while (arr[i] != 0)
	{
		if (islower(arr[i]))
		{
			arr[i] -= 32;
		}
		printf("%c ", arr[i]);//A B C D E F 1 G 2 H 3 Q # 7 8
		i++;
	}
	return 0;
}

字符转换函数

所以练习1可以修改:

c 复制代码
int main()
{
	char arr[] = "abCdEf1g2H3q#78";
	int i = 0;
	while (arr[i] != 0)
	{
		if (islower(arr[i]))
		{
			arr[i] = toupper(arr[i]);
		}
		printf("%c ", arr[i]);//A B C D E F 1 G 2 H 3 Q # 7 8
		i++;
	}
	return 0; 
}

函数的使用

strcpy的使用

字符串的拷贝

strcpy(目标,源头)

ag.

c 复制代码
#include<string.h>
int main()
{
	char arr1[] = "abcdef";
	char arr2[20] = { 0 };
	//arr1=arr2错误的因为数组名是地址
	strcpy(arr2, arr1);
	printf("%s\n", arr2);
			
	return 0;
}

strcat的实现

字符串追加stract(目标,源头)

可以自己给自己追加

ag.

c 复制代码
#include<string.h>
int main()
{
	char arr1[20] = "abcdef";
	char arr2[20] = "wwwww";
	//arr1=arr2错误的因为数组名是地址
	strcat(arr1, arr2);
	printf("%s\n", arr1);//abcdefwwwww
			
	return 0;
}

strcmp的实现

字符串的比较

下面的q大 这个是按照对应位置按照顺序来比较的

strcmp(1,2)

1>2则return>0的数

1=2则return=0的数

1<2则return<0的数

c 复制代码
int m = strcmp("abcde", "abq");
printf("%d", m);//小于0

strncpy,strncat,strncmp

strncpy

strncat

strncmp

strstr

stringstring字符串字符串 在一个字符串中找另外一个字符串

如果找到了返回起始地址,没有找到返回NULL

c 复制代码
#include<string.h>
int main()
{
	char arr1[] = "abcdefgh";
	char arr2[] = "cde";
	char* r = strstr(arr1, arr2);
	if (r == 0)
	{
		printf("招不到");
	}
	else
	{
		printf("%s", r);//cdefgh
	}
	return 0;
}

strtok的使用



strerror

在C语言使用的时候,库函数的使用,调用如果失败 会记录错误码

相关推荐
Felven1 天前
C. Brr Brrr Patapim
c语言·开发语言
Zwawa1 天前
嵌入式OLED表驱动菜单:用一张表、一个栈和一个窗口重写表驱动菜单
c语言·单片机·嵌入式
沐晓时光2 天前
C语言入门,内存函数知识讲解
c语言·开发语言
Zwawa2 天前
C语言函数指针与宏实战:从回调、表驱动菜单到X-Macro,讲透嵌入式代码解耦
c语言·单片机·嵌入式
David猪大卫2 天前
【C++修炼】map 和 set 的使用
c语言·开发语言·数据结构·c++·经验分享·笔记·学习
HPtiger2 天前
C++ 入门笔记:从 C 到 C++ 的核心过渡(命名空间、输入输出、缺省参数、重载、引用、内联)
c语言·c++·学习
安妮细水长流2 天前
ad7124
c语言·单片机
Zwawa3 天前
用两个按键做一个OLED菜单:先把选择和执行分开
c语言·单片机·嵌入式
心仪久了会沦陷3 天前
C语言数据结构入门——树与二叉树详解:概念、堆实现与链式遍历
c语言·数据结构·算法
Severus_black3 天前
【C++初阶】list使用及相关实现,思路顺滑流畅!
c语言·数据结构·c++·stl·list