fork download
  1. #include <stdio.h>
  2. #include <string.h>
  3. void htoi(const char *ptr, char *binAddr) {
  4. char value[32] = "";
  5. char ch = *ptr;
  6. int i;
  7. const char* quads[] = {"0000", "0001", "0010", "0011", "0100", "0101",
  8. "0110", "0111", "1000", "1001", "1010", "1011",
  9. "1100", "1101", "1110", "1111"};
  10.  
  11. while (ch == ' ' || ch == '\t')
  12. ch = *(++ptr);
  13.  
  14. for (i = 0; i < 8; i++) {
  15. if (ch >= '0' && ch <= '9')
  16. strncat(value, quads[ch - '0'], 4);
  17. if (ch >= 'A' && ch <= 'F')
  18. strncat(value, quads[10 + ch - 'A'], 4);
  19. if (ch >= 'a' && ch <= 'f')
  20. strncat(value, quads[10 + ch - 'a'], 4);
  21.  
  22. ch = *(++ptr);
  23.  
  24. }
  25. printf("%s\n", value);
  26. *binAddr = *value;
  27. }
  28.  
  29.  
  30. main()
  31. {
  32. char line[11], binAddr[32];
  33. char *hexAddr="0x35";
  34. htoi(hexAddr, binAddr);
  35.  
  36. }
Runtime error #stdin #stdout 0s 1832KB
stdin
Standard input is empty
stdout
000000110101