C库函数strxxx类实现

面试时,有时候经常会手撕一下源码,之前被考过一个strcpy,所以在此吧把str型都实现一遍。

char* mystrcpy(char* dest, const char* src)
{
	assert((dest==nullptr)||(src==nullptr));
	char* s=src;
	while(*src)
	{
		*dest++=*src++;
	}
	*dest='\0';
	return s;
}
char* mystrcat(char* dest, char* arr)
{
	assert((arr==nullptr)||(src==nullptr));
	char* s=dest;
	while(*dest)
	{
		dest++;
	}
	while(*arr)
	{
		*dest++=*arr++;
	}
	*dest='\0';
	return s;
}
int mystrcmp(const char* dest, const char* src)
{
	assert((dest==nullptr)||(src==nullptr));
	while(*dest || *src)
	{
		if(*dest > *src)
		{
			return 1;
		}
		else if(*dest < *src)
		{
			return -1;
		}
		else
		{
			dest++;
			src++;
		}
		return 0;
	}
}
int strlen(const char* src)
{
	assert(src==nullptr);
	int len=0;
	while(*src)
	{
		len++;
	}
	return len;
}
发布了22 篇原创文章 · 获赞 0 · 访问量 362

猜你喜欢

转载自blog.csdn.net/yanchenzhi/article/details/104987662