¿Cómo puedo bitwise XOR dos matrices de caracteres C?
Me siento tonto por no poder resolver esto, pero estoy perdido. Estoy tratando de XOR dos cadenas C.
#include <stdio.h>
#include <memory.h>
#include <stdlib.h>
int main()
{
char plainone[16];
char plaintwo[16];
char xor[17];
strcpy(plainone, "PlainOne");
strcpy(plaintwo, "PlainTwo");
int i=0;
for(i=0; i<strlen(plainone);i++)
xor[i] ^= (char)(plainone[i] ^ plaintwo[i]);
printf("PlainText One: %s\nPlainText Two: %s\n\none^two: %s\n", plainone, plaintwo, xor);
return 0;
}
Mi salida es:
$ ./a.out
PlainText One: PlainOne
PlainText Two: PlainTwo
one^two:
¿Por qué la matriz xor no se lee como algo?