将字符串s复制到字符串t解决思路

将字符串s复制到字符串t
string   t,s;
求出t串的长度-> m;
求出s串的长度-> n;
if   (m> n)
      {       复制s串内容到t串;
            返回t所指字符指针;
      }
else  
      申请m+1个字符的空间;
      if(   申请成功)    
          {撤消原来t串所占用的空间;
            令t指向指针分配的空间;
            复制s串内容到t串;
            返回t所指字符指针;
        }
      else    
            返回空指针;

    要求C语言编程。     谢谢大家帮助!

------解决方案--------------------
char *fun(char *t,char *s)
{
char *p;
int m = strlen(t),n = strlen(s);
if (m> n)
{
strcpy(t,s);
return t;
}
else
{
p = (char *)malloc((m+1)*sizeof(char));
if (p != NULL)
{
free(t);
t = p;
strcpy(t,s);
return t;
}
else
{
return NULL;
}
}
}