#include #include #include extern unsigned char *asma(unsigned char *s); unsigned char *asma_ref(unsigned char *s) { int i; for (i=0; i<16; i++) { unsigned char c = s[i]; c += (c >= 'A' && c <= 'Z') ? 'a'-'A' : 0; s[i] = c; } return s; } int main(int argc, char **argv) { char *input1[]={"asdfABCDEFGHKL54", "foofuuMUHkk", "AbC"}; char *output1; char *output2; char *input2; char *input3; int i; for(i = 0; i < 3; i++) { input2 = strdup(input1[i]); input3 = strdup(input1[i]); output1 = (unsigned char*) asma_ref((unsigned char *)(input2)); output2 = (unsigned char*) asma((unsigned char *)(input3)); output1[16]='\0'; output2[16]='\0'; if(memcmp(output1,output2, 16)) { printf("Testfall falsch; erwartet:\n\t\"%s\"\ntatsaechliches Ergebnis:\n\t\"%s\"\n", output1, output2); } else { printf("Testfall \"%s\" passt.\n", output1); } printf("\n"); free(input2); free(input3); } return 0; }