Buenas, no puedo hacerlo andar, el ejemplo de la letra no me queda igual. No sé qué estoy haciendo mal.
El código completo es
main(int argc, char** argv) {
//printBase2(atoi(argv[1])); //parte a
//enmascarado(atoi(argv[1]), atoi(argv[2]), atoi(argv[3])); //parte b
int n;
int m;
char str1[100];
char str2[20];
char c;
int i;
i = 0;
c = getchar();
while (c != '\n') {
str1[i] = c;
c = getchar();
i++;
}
n = i;
i = 0;
c = getchar();
while (c != '\n') {
str2[i] = c;
c = getchar();
i++;
}
m = i;
/*printBase2(str1[0]);
printBase2(str2[0]);
printBase2(str1[0]&~((str1[0])>>6<<6));
printBase2(str2[0]&~((str2[0])>>6<<6));
printBase2((str1[0]&~((str1[0])>>6<<6))^(str2[0]&~((str2[0])>>6<<6)));*/
//n = largo de la frase (str1)
//m = largo de la clave de encriptación (str2)
for (int i = 0; i < n; i++) {
printf("%c", (str1[i]&~((str1[i])>>6<<6))^(str2[i%m]&~((str2[i%m])>>6<<6)));
}
}
Gracias