c - 从 C 控制台获取十六进制值

标签 c console

我正在研究C语言。我想从控制台获取十六进制值。例如

argv[1] = "0xABCFFABC"

我想将值存储在一个无符号字符数组中,所以最后我想得到这样的结果:

unsigned char hex[4] = {0xAB, 0xCF, 0xFA, 0xBC}

然后我处理信息,我需要执行相反的过程:从十六进制值 {0xFF, 0xAB, 0x01, 0x0A} 转换为字符串 "0xFFAB010A" ???并在控制台上打印最终值。

最佳答案

对于 argv[1]hex[4],您可以使用上面的 chux 方法,其中 argv[1]+2 作为bufhex[0] 作为 byte1

hex[4] 到字符串并打印,可以按如下方式完成:

    char string[2+4*2+1];
    sprintf(string, "0x%02X%02X%02X%02X", hex[0], hex[1], hex[2], hex[3]);
    printf("%s\n", string);

关于c - 从 C 控制台获取十六进制值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26248673/

相关文章:

c - Printf ubuntu 段错误(核心转储)

c - 我如何在不实际使用 c 中的 union 的情况下建立一个 union ?

c - 8051 上的声音持续时间

java - 在控制台输出调试信息

ruby-on-rails - Rails 放入控制台

c - shmat() 为不同的程序返回不同的地址,所有程序都具有相同的共享内存

c - 如何从带有指针的函数返回数组

PowerShell 如何抑制错误消息

java - System.out.println() 的 JUnit 测试

javascript - 在控制台使用 jQuery?