C函数实现strcopy strcat strcmp strstr

strcopy函数
cpp 复制代码
char *strcpy( char *strDestination, const char *strSource );

复制字符串函数的实现

cpp 复制代码
char* my_strcopy(char* dest, char* src)
{
	char* ret = dest;
	while (*src)
	{
		*dest++ = *src++;
	}
	*dest = *src;
	return ret;
}

int main() {
	char arr[] = "abcdef";
	char arr1[20] = { 20 };
	my_strcopy(arr1, arr);
	printf("%s", arr1);
	return 0;
}
strcat函数

合并字符串

cpp 复制代码
char *strcat( char *strDestination, const char *strSource );
cpp 复制代码
char my_strcat(char* dest, const char* src)
{
	char ret=dest;
	while (*dest!='\0')
	{
		dest++;
	}
	while (*dest++=*src++)
	{
		;
	}
	return ret;
}
int main()
{
	char arr[30] = "hellow";
	char arr1[] = "world";
	my_strcat(arr, arr1);
	printf("%s ", arr);
	return 0;
}
strcmp函数

比较字符串

cpp 复制代码
int strcmp( const char *string1, const char *string2 );
cpp 复制代码
char my_strcmp(char* str1, char* str2)
{
	while (*str1==*str2)
	{
		if (*str1 == '\0')
			return 0;
		str1++;
		str2++;
}
	return (*str1 - *str2);
}
int main()
{
	char a[] = "abcd";
	char b[] = "abcd";
	int ret =my_strcmp(a, b);
	if (ret<0)
	{
		printf("<");

	}
	else if (ret > 0)
	{
		printf(">");
	}

	else
	{
		printf("==");
	}
	return 0;
}
strstr函数

在a里面查找b

cpp 复制代码
char *strstr( const char *string, const char *strCharSet );
cpp 复制代码
char* my_strstr(const char* str1, const char* str2)
{
	const char* s1 = str1;
	const char* s2 = str2;
	const char* p = str1;
	while (*p)
	{
		s1=p;
		s2 = str2;
		while (*s1 != '\0' && *s2 != '\0' && *s1 == *s2)
		{
			s1++;
			s2++;
		}
		if (*s2=='\0')
		{
			return (char*)p;
		}
		p++;
	}
	return NULL;
}
int main()
{
	char arr[] = "abcbbc";
	char arr1[] = "bbc";
	char* ret = my_strstr(arr, arr1);
	if (ret==NULL)
	{
		printf("不存在\n");
	}
	else
	{
		printf("%s", ret);
	}
	return 0;
}
相关推荐
xskukuku3 小时前
使用VSCode配置C语言运行环境
c语言·ide·vscode
原则猫7 小时前
HOOKS 背后机制
前端
码语智行7 小时前
首页导航跳转功能深度解析-系统内和系统外
前端
阿猫的故乡8 小时前
Vue过渡动画从入门到装X:淡入淡出、滑动、列表动画、第三方库全搞定
前端·javascript·vue.js
IManiy8 小时前
总结之Vibe Coding前端骨架
前端
JS菌8 小时前
AI Agent 沙箱双层防护体系:从权限过滤到内核隔离的完整实现
前端·人工智能·后端
Aphasia3118 小时前
从输入URL到页面展示全流程
前端·面试
我叫黑大帅9 小时前
前端如何竖屏固定视口背景
前端·javascript·面试
abcy0712139 小时前
python pandas csv异步后台清洗前端优先返回成功信息
前端·python·pandas
IT_陈寒9 小时前
Vite这个坑我帮你踩了,动态导入居然这样才生效
前端·人工智能·后端