学而不思则罔,思而不学则殆

有其事必有其理, 有其理必有其事

  IT博客 :: 首页 :: 联系 :: 聚合  :: 管理
  85 Posts :: 12 Stories :: 47 Comments :: 0 Trackbacks
int strncasecmp(const char *s1, const char *s2, size_t n)
{
  const unsigned char *c1 = s1, *c2 = s2;
  unsigned char ch;
  int d = 0;

  while ( n-- ) {
    /* toupper() expects an unsigned char (implicitly cast to int)
       as input, and returns an int, which is exactly what we want. */
    d = toupper(ch = *c1++) - toupper(*c2++);
    if ( d || !ch )
      break;
  }

  return d;
}


int strcasecmp(const char *s1, const char *s2)
{
  const unsigned char *c1 = s1, *c2 = s2;
  unsigned char ch;
  int d = 0;

  while ( 1 ) {
    /* toupper() expects an unsigned char (implicitly cast to int)
       as input, and returns an int, which is exactly what we want. */
    d = toupper(ch = *c1++) - toupper(*c2++);
    if ( d || !ch )
      break;
  }

  return d;
}


int strcmp(const char *s1, const char *s2)
{
  const unsigned char *c1 = s1, *c2 = s2;
  unsigned char ch;
  int d = 0;

  while ( 1 ) {
    d = (int)(ch = *c1++) - (int)*c2++;
    if ( d || !ch )
      break;
  }

  return d;
}



int strncmp(const char *s1, const char *s2, size_t n)
{
  const unsigned char *c1 = s1, *c2 = s2;
  unsigned char ch;
  int d = 0;

  while ( n-- ) {
    d = (int)(ch = *c1++) - (int)*c2++;
    if ( d || !ch )
      break;
  }

  return d;
}

posted on 2006-06-02 15:07 易道 阅读(819) 评论(0)  编辑 收藏 引用 所属分类: linux 编程window 编程
只有注册用户登录后才能发表评论。