zoukankan      html  css  js  c++  java
  • 查找字符串数组中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; }
  • 相关阅读:
    mycat的基本介绍及安装
    mycat的安装及使用
    java 基本语法(十三) 数组(六)数组的常见异常
    java 面向对象(一):类与对象
    java 面向对象(二):JVM内存结构
    java 面向对象(三):类结构 属性
    java 面向对象(五):类结构 方法(二) 关键字:return;方法的重载;可变个数形参的方法
    Salesforce数据安全简介
    Apex计划作业框架的实现
    异步 Apex 类
  • 原文地址:https://www.cnblogs.com/sky-heaven/p/7411187.html
Copyright © 2011-2022 走看看