【FROM MSDN && 百科】
原型:char *strncat(char *dest,const char *src,int n);
#include
功能:把src所指字符串的前n个字符添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。
DEMO:实现自己的strncat函数
#include
#include
#include
#include
#include
#pragma warning(disable:4996)
char *mystrncat(char *dest,const char *src,int n);
int main(void)
{
char d[20]="Golden Global";
char *s="View WinIDE Library";
system("cls");
mystrncat(d,s,2);
printf("%s\n",d);
printf("%d\n",strlen(d));
getch();
return 0;
}
char *mystrncat(char *dest,const char *src,int n)
{
char *strDest=dest;
assert((dest!=NULL)&&(src!=NULL));
while(*dest !='\0')
{
dest++;
}
while(n && ((*dest++ = *src++)!='\0'))
{
n--;
}
*dest='\0';
return strDest;
}
DEMO:
#include
#include
#include
int main(void)
{
char d[20]="Golden Global";
char *s="View WinIDE Library";
system("cls");
/*
s字符串中只有前n个字符被追加到d字符串,复制过来的s字符串的第一个字符覆盖了
d字符串结尾的空字符。s字符串中的空字符及其后的任何字符都不会被复制,并且追加
一个空字符到所得结果后面。返回值是d。
*/
strncat(d,s,5);
printf("%d\n",strlen(d));
printf("%s\n",d);
getch();
return 0;
}