【问题标题】:Extracting hex numbers from char array [closed]从char数组中提取十六进制数[关闭]
【发布时间】:2018-07-27 02:16:46
【问题描述】:

我需要从 char* 中提取长度 = 16 的十六进制数, 例如。 fa45cb15 我需要获取每一位的值

如何以正确的方式做到这一点?现在我只是打印printf("%x");

【问题讨论】:

标签: c++ c hex bits


【解决方案1】:

不是很难,你只需要一个循环和一个演员来确保你的数字是无符号的

for (int i = 0; i < 16; ++i)
    printf("%02X", (unsigned char)data[i]);

【讨论】:

  • 我想知道否决票。我是不是搞错了什么?
  • 因为你没有提取每一位?
  • @john 谁知道?目前尚不清楚 OP 的要求是什么,您应该投票结束,而不是回答不清楚的问题。
  • 我觉得你对一个不能清楚表达自己的新手有点苛刻。如果上述答案对 OP 来说是错误的,那么不会造成任何伤害。 FWIW 我认为很清楚 OP 有一个 16 字节数组,他们想以十六进制打印,可能他们想打印或访问位作为附加任务,更有可能他们只想以十六进制打印,以便他们可以看到位自己的价值观。
猜你喜欢
  • 2014-02-18
  • 1970-01-01
  • 2018-04-21
  • 1970-01-01
  • 2013-06-02
  • 1970-01-01
  • 1970-01-01
  • 2012-05-09
  • 2014-02-09
相关资源
最近更新 更多