现在的位置: 首页 > 综合 > 正文

C语言字符串函数详解 strcpy、strcmp、strcat、strlen、strstr

2018年02月07日 ⁄ 综合 ⁄ 共 752字 ⁄ 字号 评论关闭
strcpy的源代码:
char *strcpy(char *des, const char *src)
{
	assert(des != NULL && src != NULL);
	char *pStr = des;
	while( (*des++ = *src++) != '\0')
		NULL;
	return pStr;
}

 


strcmp的源码:
int  strcmp(const char *des,  const char *src)
{
	assert(des != NULL && src != NULL);
	for (;*des && *src && *des == *src; des++, src++)
		NULL;

	return *des - *src;
}

 

 

 

strcat的源码:
char *strcat(char *des, const char *src)
{
	assert(*des != NULL && *src != NULL);
	char *pStr = des;
	while (*des != '\0')
		des++;

	while ((*des++ = *src++) != '\0')
		NULL;
	return pStr;
}

 

strlen的源码:
int strlen(const char *pStr)
{
	assert(pStr != NULL);
	int len = 0;
	while (*pStr++ != '\0')
		len++;

	return len;
}

 

 

strstr的源码:
char *myStrstr(const char *des, const char *src)
{
	assert(des != NULL && src != NULL);

	char *d = des;
	char *s = src;

	for (; d != '\0'; des++)
	{
		for (d = des, s = src; (s != '\0') && (*d == *s); d++, s++)
			NULL;
	
	if (*s == '\0')
		return des;
	}
	
	return NULL;

}

 

 

抱歉!评论已关闭.