/***从源字符串中复制指定个字符到目标字符串中***/
#include<stdio.h>
#include<assert.h>
char *strncpy( char *dest,const char *src,int n)
{
assert((dest!=NULL)&&(src!=NULL));
int i=0;
char *p=dest; //指针在复制过程中会移动,所以要记录下来
while((i++<n)&&(*dest++=*src++)); //如果顺序反了,那么在刚好等于达到n个时候,指针先移动..
if(*(--dest)!='\0') //注意*dest要加上'\0'
*dest='\0';
return p;
}
void main()
{
char str1[100];
char *str2="I love you";
char *res=strncpy(str1,str2,8);
printf("res=%s\n",res);
}