void mystrcpy(char *target, char *source)
{
	while((*target = *source) != '\0')
	{
		source++;
		target++;
	}
}

void mynstrcpy(char *target, char *source, int n)
{
	int i = 0;
	while((i < n) && (*target = *source) != '\0')
	{
		source++;
		target++;
		i++;
	}
}

调用:

int main()
{

	char * ptr = "hhahahahahahahha";
	char * dest;
	dest = (char *)malloc(80 * sizeof(char));
	
//	mystrcpy(dest, ptr);

	mynstrcpy(dest, ptr, 4);
	dest[4] = '\0';
	printf("%s\n", dest);



	return 0;
}


void myStrcat(char *dest, char *source)
{
	while(*dest != '\0')
	{
		dest++;
	}

	while( (*dest = *source) != '\0')
	{
		source++;
		dest++;
	}
}

void mynStrcat(char *dest, char *source, int n)
{
	int i = 0;
	while(*dest != '\0')
	{
		dest++;
	}

	while( i < n && (*dest = *source) != '\0')
	{
		source++;
		dest++;
	}
}


posted on 2013-10-27 20:47  纯洁的坏蛋  阅读(2463)  评论(0编辑  收藏  举报