你应该知道的C语言干货(3)(strcat和strcmp的模拟实现)

 我们知道包含string.h头文件后,就可以使用strcat和strcmp这两个库函数,strcat是用来连接两个字符串的,strcmp是比较两个字符串的大小,接下来我们将模拟实现他们。

目录

#strcat的模拟实现

#strcmp的模拟实现 

#下期预告:


#strcat的模拟实现

#define _CRT_SECURE_NO_WARNINGS 1
#include 
#include 

char *my_strcat(char *str1,const char* str2)
{

	assert(str1 && str2);
	while (*str1 != '\0')
	{
		str1++;
	}
	while (*str2 != '\0')
	{
		*str1 = *str2;
		str1++;
		str2++;
	}
	*str1 = '\0';        //别忘了补\0

	return str1;         //这里要有返回值,不然会报错,因为
                         //我们定义的就有返回值,模拟的是库函数

}
int main()
{

	char str1[20] = "hello ";
	char str2[] = "world!";
	my_strcat(str1, str2);
	printf("str1 = %s", str1);

	return 0;
}

#strcmp的模拟实现 

#include 
#include     

int my_strcmp(const char* str1, const char* str2)
{
	assert(str1 && str2);   //断言,如果不符合括号里的条件,停止运行并报错
	while (*str1 && *str2 && (*str1 == *str2))
	{
		str1++;
		str2++;
	}
	return *str1 - *str2;
}

int main()
{

	char str1[] = "a ha ha~";
	char str2[] = "a ha ha~";
	int ret = my_strcmp(str1, str2);

	if (ret > 0)
		printf("大于\n");
	else if (ret < 0)
		printf("小于\n");
	else
		printf("等于\n");

	return 0;
}

#下期预告:

strncpy
strncat
strncmp
strstr
strtok

你可能感兴趣的:(C语言,c语言)