Listing 1 Converts a hex-string to a number in ASCII environments
#include <ctype.h> #include <assert.h> long atox(char *s) { long sum; assert(s); /* Skip whitespace */ while (isspace(*s)) ++s; /* Do the conversion */ for (sum = 0L; isxdigit(*s); ++s) { int digit; if (isdigit(*s)) digit = *s - '0'; else digit = toupper(*s) - 'A' + 10; sum = sum*16L + digit; } return sum; } /* End of File */