Ich fühle mich albern, weil ich nicht in der Lage bin, das herauszufinden, aber ich bin verloren. Ich versuche, zwei C-Saiten zu XOR zu machen.Wie kann ich zwei C-Char-Arrays bitweise XOR XOR?
#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;
}
Meine Ausgabe ist:
$ ./a.out
PlainText One: PlainOne
PlainText Two: PlainTwo
one^two:
Warum nicht die xor Array als etwas lesen?
1. 'xor' ist Müll, ich bin sicher, Sie wollten es nur zuweisen. 2. P^P = 0 oder \ 0, was das Ende der Zeichenkette bedeutet. – Joe
"strlen" nicht immer wieder in der for-Schleife aufrufen. Speichern Sie die Länge in einer Variablen und verwenden Sie sie –