/*--------------------------------------------------------------------
【函数介绍】: 在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;
}