Hola:
·Estoy un tanto complicado con el manejo de strings con el PIC-C. En principio, necesito implementar la siguiente función:
Tengo 2 strings de 16 bytes, lo que quiero es generar un tercer string, de 16 bytes, donde cada byte corresponde al XOR entre el byte respectivo de los argumentos. Algo así:
int i;
char a[16],b[16],c[16];
strcpy(a,"ABCDEFGHIJKLMNOP");
strcpy(b,"abcdefghijklmnop");
for(i=0;i<=15;i++)
c[i] = a[i] ^ b[i];
·Así funciona sin problemas. Pero lo que quiero es realizar una función donde pueda ingresar los 2 bytes como parámetros. He tratado de implementar la función, sin éxito (no compila). El código que generé es el siguiente:
char XorBytes(char b1[16], char b2[16])
{
int aux,i;
char temp[16];
for(i=0;i<=15;i++)
temp[i] = b1[i] ^ b2[i];
for(i=0;i<=15;i++)
aux = temp[i];
return temp;
}
void main()
{
int i,aux;
char a[16],b[16],c;
strcpy(a,"ABCDEFGHIJKLMNOP");
strcpy(b,"abcdefghijklmnop");
c = XorBytes(a,b);
sleep();
}
·Como ven no es muy funcional; la variable aux la uso para ver el valor de cada elemento del string mediante un breakpoint del MPLAB.
·Al parecer no estoy pasando bien los argumentos a la función, o algo así... Si me pueden ayudar, estaría muy agradecido.
atte.
Fernando