پیاده سازی strncpy به دو صورت

صورت اول:
char *strncpy(char *s,const char *t,unsigned n)
{
    for(unsigned i=0;i<n && t[i]!='\0';i++)
        s[i]=t[i];
    for(;i<n;i++)
        s[i]='\0';
    return s;
}

//end

صورت دوم:
char *strncpy(char *s,const char *t,unsigned n)
{
    char *ts=s;
    for(unsigned i=0;i<n && *t!='\0';i++,s++,t++)
        *s=*t;
    for(;i<n;i++,s++)
        *s='\0';
    return ts;
}

//end