C 31 Jan 2010 23:29:24
Snippet: Convert Hex to Text
//tinodidriksen.com/uploads/code/c/hex-to-text.c
#include <stdlib.h> #include <stdio.h> #include <string.h> int main() { char buf[] = "54657374"; size_t len = strlen(buf); if (len & 1) { printf("Cannot take hex from odd length string.\n"); exit(1); } char *result = (char*)malloc(len/2 + 1); memset(result, 0, len/2 + 1); for (size_t i = 0 ; i < len/2 ; ++i) { char tmp[3] = {buf[i*2], buf[i*2+1], 0}; result[i] = (char)strtol(tmp, NULL, 16); } printf("%s converted to %s\n", buf, result); free(result); return 0; }