【问题标题】:Store byte value in char*将字节值存储在 char* 中
【发布时间】:2017-08-25 13:47:56
【问题描述】:

我有 0x1F 之类的字节值,我想将此六进制值存储在 char* 中,例如 char*="1F" 这是我的代码:

uint8_t *pBlockAddr=0x1F;
printf("%02X", pBlockAddr); //Print 1F

【问题讨论】:

  • sprintf?.....
  • 未定义的行为。您在这里真正想要实现的目标是什么。
  • uint8_t pBlockAddr=0x1F; char mys_string[3] = {0}; sprintf(mys_string, "%02X", pBlockAddr);

标签: c pointers casting hex byte


【解决方案1】:

你可能想要这个:

char mystring[3];
snprintf(mystring, sizeof(mystring), "%02X", 0x1f);

printf("%s\n", mystring);

【讨论】:

  • 请尽可能使用snprintf 而不是sprintf
  • 谢谢,我想在我的 char[] 循环中附加值,那么如何使 snprintf 适应循环?
  • @joflll 这是另一个问题。我建议再问一个问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-10-28
  • 2011-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-29
  • 1970-01-01
相关资源
最近更新 更多