当前位置:网站首页>Rewrite four functions such as StrCmp in C language

Rewrite four functions such as StrCmp in C language

2022-04-23 18:03:00 OceanKeeper1215

#include <stdio.h>
#include <string.h>
#include <assert.h>

size_t str_len(const char* str)
{
//	if(NULL == str) return -1;
	assert(NULL != str);
	const char* tmp = str;
	while(*tmp) tmp++;
	return tmp - str;
}

char* str_cpy(char* dest,const char* src)
{
	assert(NULL != dest && NULL != src);
	char* tmp = dest;
	while(*tmp++ = *src++);
	return dest;
}

char* str_cat(char* dest,const char* src)
{
	assert(NULL != dest && NULL != src);
	char* tmp = dest;
	while(*tmp) tmp++;
	while(*tmp++ = *src++);
	return dest;
}

int str_cmp(const char* s1,const char* s2)
{
	assert(NULL != s1 && NULL != s2);
	while(*s1 && *s1 == *s2) s1++,s2++;
//	return *s1-*s2;
	if(*s1 > *s2)
		return 1;
	else if(*s1 < *s2)
		return -1;
	else
		return 0;
}

int main(int argc,const char* argv[])
{
	char str[256] = "hehe";
	char* str1 = NULL;
//	strcpy(str,str1);
	printf("str_len: %d\n",str_len(str1));
	printf("str_cpy: %s\n",str_cpy(str,"abc"));
	printf("str_cat: %s\n",str_cat(str,"qqq"));
	printf("str_cmp: %d\n",str_cmp("abb","abb"));
}

版权声明
本文为[OceanKeeper1215]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/04/202204230545105048.html