C++标准串运算的实现知识点
上一个知识点   下一个知识点


本节概述 本节知识点 本节总结

一、C++标准串运算的实现
    这里举字符串复制函数,字符串比较函数,和求字符串长度函数为例,说明C++标准串运算的实现。    

字符串的复制
char *strcpy(char *d, char *s)
{
//这个程序的毛病是,如果字符串s比字符串d要长,
//这个程序没有检查拷贝出界,没有报告错误。
//可能会造成d的越界
  int i =0;
  while (s[i] != '\0') {
    d[i] = s[i]; i++;
  }
  d[i] = '\0';
  return d;
}

字符串的比较
int strcmp( char *d, char *s)
{
  int i =0;
  while (s[i] != '\0' && d[i] != '\0' )
  {
    if (d[i] > s[i])
      return 1;
    else if (d[i] < s[i])
      return -1;
    i ++;
  }
  if( d[i] = ='\0' && s[i] != '\0')
    return -1;
  else if (s[i] = = '\0'&& d[i] != '\0')
    return 1;
  return 0;
}

求字符串的长度
int strlen(char d[])
{
  int i =0;
  while (d[i] != 0)
    i++;
  return i;
}