strcat和strncat

strcat

所属头文件:#include<string.h>

char *strcat(char *dest,const char *src);

返回的值

strcat函数把字符串str的内容追加到字符串dest的尾部.

#include<stdio.h>
//#include<string.h>
//#include<assert.h>
//char *my_strcat(char *dest,const char *str)
//
//{
//	char *pret=dest;
//	assert(str);
//	assert(dest);
//	 while (*dest)
//    {
//        dest++;
//    }
//	while(*dest++=*str++)
//	{
//		;
//	}
//	return pret;
//	}
//int main()
//{
//	char *pret=NULL;
//	char str[]="abcd";
//	char dest[]="efg";
//	/*nt len=strlen(dest);*/
//	pret=my_strcat(str,dest);
//	printf("%s\n",pret);
//	system("pause");
//	return 0;
//}
 
 
 
 

运行结果:

strcat和strncat_第1张图片


strncat

所属头文件:#include<string.h>

char *strncat(char *dest,const char *src,size_t n)

返回dest的值


strncat函数把src中的n个字符追加到dest的尾部。

1.如果在复制n个字符之前就遇到了src的null字符,则这个null字符也被复制,然后就不再复制其他字符。

2.如果在src的前n个字符中并没有null字符,则前n个字符就被复制到dest,并在dest中追加一个用于追加一个用于结束字符串的null字符。

示例:

</pre><pre name="code" class="cpp">
//#include<stdio.h>
//#include<string.h>
//#include<assert.h>
//char *my_strncat(char *dest,const char *str,size_t n)
//{
//	char *pret=dest;
//	assert(str);
//	assert(dest);
//	while(*dest)
//	{
//		dest++;
//	}
//	while(n--)
//	{
//	*dest++=*str++;
//	}
//	*dest='\0';
//	return pret;
//	}
//int main()
//{
//	char  *ret=NULL;
//	char str[]="abc";
//	char dest[]="abc";
//	int len=strlen(dest);
//	ret=my_strncat(str,dest,len);
//	printf("%s\n",ret);
//	system("pause");
//	return 0;
//}

运行结果:

strcat和strncat_第2张图片



你可能感兴趣的:(模拟库函数)