在pArray缓冲区,查找subString字符串,如存在,返回当前位置,否则返回-1

来源:互联网 发布:新建家庭网络 编辑:程序博客网 时间:2024/05/22 09:46

/*--------------------------------------------------------------------
【函数介绍】: 在pArray缓冲区,查找subString字符串,如存在,返回当前位置,否则返回-1
【入口参数】: pArray:指定接收到的缓冲区队列
【出口参数】: pArray:指定接收到的缓冲区队列,解析后需要进行适当修改
【返回  值】: -1表示没有找到指定的子串,>=0表示发现第1个子串的位置
---------------------------------------------------------------------*/
int CGPS::Pos(LPCSTR subString , CByteArray * pArray,int iPos)
{
 //得到子串长度
 int subLen = strlen(subString);
 //得到缓冲区的长度
 int bufLen = pArray->GetUpperBound()+1;//获取数组的最高下标GetUpperBound

 bool aResult = TRUE;
 //
 for ( int i=iPos;i<bufLen-subLen+1;i++)
 {
  aResult = TRUE;
  for (int j=0;j<subLen;j++)
  {
   if (pArray->GetAt(i+j) != *(subString + j))
   {
    aResult = FALSE;
    break;
   }
   int k = 0;
  }
  if (aResult)
  {
   return i;
  }
 }
 return -1;
}

原创粉丝点击