【发布时间】:2018-10-19 02:59:06
【问题描述】:
我在 C char arr[100] 中有一个数组,其中每个元素可能包含任意十六进制值(甚至 0)。我希望能够以某种方式将这个数组打印在一行中,例如:
arr[0] = 0x11
arr[1] = 0x00
...
arr[99] = 0x22
输出应该是:
0x11 0x00 ..... 0x22
如果我使用printf() 和%s,它将停在0。我不想使用for 循环使用%x 一个一个地打印每个字符。由于我正在使用的系统,我对可以使用的 API 有限制。它不允许printf()。它有一个函数print(),它在每次打印后添加一个新行,但接受%x, %s, %d等格式字符串,如printf()。
怎样才能达到要求?
【问题讨论】:
-
在这种情况下提供
print()函数的主体...