如何将十六进制值保存为C中的字符?

时间:2014-11-21 22:22:12

标签: c hex

我的问题很简单。请参阅此处的代码:

fprintf(fpOut, "%01X",ciphertext[s] ^ test[0]);
fprintf(fpOut, "%01X",ciphertext[s+1] ^ test[1]);
//the array test[] is a previously defined array containing characters, so is ciphertext[]

如果我运行上面的代码,我会在文件中打印一个十六进制字符序列(1AB289DF ......) 但是,如果我尝试在屏幕上打印,我会感到胡言乱语。我要求的是一种方法来保存我能够打印到文件中的字符,以便以后使用它们。我不想将它们全部保存到文件中,然后重新打开并再次读取它们。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

How to display hexadecimal numbers in C?开始,尝试使用printf("%08X", hex_example)

这更像是一种格式化问题,如果您仍然不确定如何执行此操作,请提供有关如何将十六进制值输出到终端的更多代码。

  • (0)填充十六进制值左侧的数字。
  • (08)给出值的宽度(即显示的长度)
  • (X)十六进制值的标识符。