您的位置:首页 > 编程语言

string系列之strcpy、strncpy、strcmp、strlen编程实现

2013-05-04 12:04 253 查看
string系列

char* strcpy( char *strDest, const char *strSrc )

{

 assert((strDest != NULL) && (strSrc != NULL) );

char *address = strDest;

 while((*strDest++ = * strSrc++) != ‘\0’ );

return address;

}

char*strncpy(char* strdest, const char* strsrc, int n)

{

   assert((strdest != NULL) && (strsrc != NULL));

   char* address = strdest;

   while(n-- > 0)

      *strdest++ = *strsrc++;

   return address;

}

int strcmp(const char* str1, const char* str2)

{

   assert((str1 != NULL) && (str2 != NULL);

   int ret = 0;

   while (!(ret = (unsigned char*)*str1 - (unsigned char*)*str2)&& (*str2))

   {

      str1++;

      str2++;

   }

   if (ret > 0)

      ret = 1;

   else if (ret < 0)

      ret = -1;

   return ret;

}

int strlen(const char* str)

{

   assert(str != NULL);

   int len = 0;

   while ('\0' != *str++)

      len++;

   return len;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐