Sg0, 1, 2 e 3, são arrays contendo os textos (no caso são 5 caracteres).
TempBuffRx, é o Buffer de comparação, onde há um texto também de 5 caracteres.
Sgf0, são flags de sinalização, para saber se a comparação é IGUAL(1) ou DIFERNTE (0).
SgCounter, é uma variavel char que serve como identificador externo.
Eu fiz a rotina individualmente para cada caso (nesse exemplo são 4 rotinas checando TEMPBUFFRX que é uma string com 5 caracteres), como eu estou "mexendo" com textos, não consegui desenvolver o raciocínio para fazer isso tudo em uma única chamada, coisa do tipo FOR. É possível integrar essas 4 rotinas em uma única, assim economizo memória.
Eu citei 4 rotinas de exemplo, porém vou utilizar 200 rotinas iguais a esta...

Agradeço todas as dicas...
cpp code
//------------------------------------------------------
// ETAPA 0:
//------------------------------------------------------
for(z=0;z<NumCaracter;z++)
{if(TempBuffRx[z]==Sg0[z])
{Sgf0=1;}else{Sgf0=0;z=NumCaracter;}
}
if(Sgf0==1){SgCounter=0;}
//------------------------------------------------------
// ETAPA 1:
//------------------------------------------------------
for(z=0;z<NumCaracter;z++)
{if(TempBuffRx[z]==Sg1[z])
{Sgf1=1;}else{Sgf1=0;z=NumCaracter;}
}
if(Sgf1==1){SgCounter=1;}
//------------------------------------------------------
// ETAPA 2:
//------------------------------------------------------
for(z=0;z<NumCaracter;z++)
{if(TempBuffRx[z]==Sg2[z])
{Sgf2=1;}else{Sgf2=0;z=NumCaracter;}
}
if(Sgf2==1){SgCounter=2;}
//------------------------------------------------------
// ETAPA 3:
//------------------------------------------------------
for(z=0;z<NumCaracter;z++)
{if(TempBuffRx[z]==Sg3[z])
{Sgf3=1;}else{Sgf3=0;z=NumCaracter;}
}
if(Sgf3==1){SgCounter=3;}