Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
c_tests
//gcc 4.9.3 #include <stdio.h> #include <ctype.h> int MACConvert(unsigned char *in, unsigned char *out) { unsigned char* pIn = in; unsigned char* pOut = out; int ctr = 0; while (*pIn != '\0') { if (ctr == 2) { if (!isalnum(*pIn)) { ctr = 0; *pOut = '-'; pIn++; pOut++; continue; } else { printf("Not MAC\n"); strcpy((char *)out, (char *)in); return strlen(in); } } else ctr++; *pOut = toupper(*pIn); pIn++; pOut++; } return strlen(in); /* for(i = 1,n = 0; *(in + i) != '\0'; i++) { if(!isalnum(*(in + 3*i))) { if(++n > 5) break; } } if(n <= 2) { // This is not a MAC address, copy input to output strcpy((char *)out, (char *)in); return strlen((const char *)in); } for(i = 1; *(in + i); i++) { c = *(in + 3*i); if(c == '-') *(out + i) = ':'; else *(out + i) = (unsigned char)toupper(c); } */ } int main(void) { char out[20]; char in[20]; int retLen = 0; int test[10]; memset(out, 0, 20); strcpy(in, "2a-2b-2c-2d-2e"); retLen = MACConvert(in, &out[0]); printf("MACConvert of %s returns %s, len(%d)\n", in, out, retLen); memset(out, 0, 20); strcpy(in, "2a*2b*2c-2d-2e"); retLen = MACConvert(in, &out[0]); printf("MACConvert of %s returns %s, len(%d)\n", in, out, retLen); memset(out, 0, 20); strcpy(in, "2a2b2c-2d-2e"); retLen = MACConvert(in, &out[0]); printf("MACConvert of %s returns %s, len(%d)\n", in, out, retLen); memset(out, 0, 20); retLen = MACConvert(test, &out[0]); return 0; }
run
|
edit
|
history
|
help
0
Vzdalenost
Herout (67) - 15
Lee hora y suma un segundo
Herout (67) - 11
C
Recursividad: Hanoi
POLE[radky][sloupce]
13 12 2014 20:25
vyměna proměnych pomoci parametru
Herout (67) - 4