#include #include extern const char *__progname; static int allhex(const char *s) { while (1) { switch (*s++) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': break; case '\0': return(1); break; default: return(0); break; } } } int main(int, char **); int main(int ac, char **av) { int i; if ( (ac != 3) || (strlen(av[1]) != strlen(av[2])) || !allhex(av[1]) || !allhex(av[2]) ) { fprintf(stderr,"Usage: %s blk1 blk2\n",__progname); exit(1); } for (i=0;av[1][i];i++) { int a; int b; sscanf(av[1]+i,"%1x",&a); sscanf(av[2]+i,"%1x",&b); printf("%x",a^b); } printf("\n"); return(0); }