7.8 我们自己的find版本

优质
小牛编辑
131浏览
2023-12-01

如果要在apstring变量中查找一个字符,可能我们并不想从字符串的头部开始查找。这种find函数的一种实现方式就是写一个增加一个参数的版本——传入我们希望的开始位置的索引。这是该函数的一个实现:

int find (apstring s, char c, int i)
{
  while (i<s.length()) {
    if (s[i] == c) return i;
    i = i + 1;
  }
  return -1;
}

不同于在apstring变量上调用find函数,如find的第一个版本那样,我们必须将apstring变量作为该find函数的第一个参数。其他参数分别是要查找的字符和开始查找的位置的索引。