• 查找字符串数组中16进制数,并转换【原创】


    查找字符串数组中16进制数,并转换


    #include <stdio.h> #include <stdlib.h> #include <string.h> void string_to_hex(unsigned char* input, int input_len, unsigned char* output, int output_len) { unsigned char tmp; int i; if (input_len > output_len*2) return; for (i = 0; i < input_len; i += 2){ tmp = input[i]; if (tmp > '9'){ tmp = (unsigned char)toupper((int)tmp) - 'A' + 0x0A; } else { tmp &= 0x0F; } output[i/2] = (tmp << 4); tmp = input[i+1]; if (tmp > '9'){ tmp = (unsigned char)toupper((int)tmp) - 'A' + 0x0A; } else { tmp &= 0x0F; } output[i/2] |= tmp; } } #define GTP_CONFIG_MAX_LENGTH 240 int main(void) { char *fw_image = "0xfd,120x03fg 0x44 ,,0x56dff g0x23,,a0x34"; int size = 0; int i = 0; char temp_data[GTP_CONFIG_MAX_LENGTH] = { 0 }; char *endp = NULL; int find_data = 0; int j = 0; memset(temp_data, 0, strlen(temp_data)); j = 0; size = strlen(fw_image); printf("size=%d ", size); for (i = 0; i < size; i++) { if (fw_image[i] == '0' && find_data == 0) { find_data = 1; printf("[%d]%c find_data == 0 no ", i, fw_image[i]); continue; } if ((fw_image[i] == 'x' || fw_image[i] == 'X') && find_data == 1) { find_data = 2; printf("[%d]%c find_data == 1 no ", i, fw_image[i]); } else if (find_data == 2) { printf("[%d]%c find_data == 2 ", i, fw_image[i]); printf("[%d]%c find_data == 2 ", i, fw_image[i-2]); //temp_data[j] = strtoul(&fw_image[i-2], NULL, 16); string_to_hex(&fw_image[i], 2, &temp_data[j], 2); printf("temp_data[%d]=0x%02x yes ", j, temp_data[j]); find_data = 0; j++; } else { find_data = 0; printf("[%d]%c find_data == 0 no ", i, fw_image[i]); } } printf("j=%d ", j); for (i = 0; i < j; i++) { printf("[%d]%02x ", i, temp_data[i] & 0xff); if (i % 10 == 9) printf(" "); } #if 0 // string_to_hex(buf, 5, tmp, 5); tmp[0] = strtoul(buf, &endp, 16); tmp[1] = strtoul(&buf[5], &endp, 16); tmp[2] = strtoul(&buf[11], &endp, 16); for (i=0; i<5; i++) printf("tmp[%d]=%02x ", i, tmp[i]); #endif printf(" "); return 0; }
  • 相关阅读:
    大规模机器学习
    机器学习之推荐系统
    SVM实现邮件分类
    机器学习之异常检测
    降维算法学习
    手写数字识别实现
    动态规划训练之十七
    概率期望训练之三
    数据结构训练之四
    绵阳东辰国际test201910.25
  • 原文地址:https://www.cnblogs.com/sky-heaven/p/7411187.html
Copyright © 2020-2023  润新知