如何用十六进制而不是ASCII符号显示实际值?
How do I show the actual values in hex instead of the ASCII symbols
int main()
{
char B[76]={0};
ifstream infile;
infile.open("tworecords.dat", ios::binary);
infile.read(reinterpret_cast<char*>(B), sizeof (B));
cout << "Array B in hex" << endl;
for (int i = 0; i < 76; i++)
{
cout << hex << B[i] << " " << endl;;
}
return 0;
}
现在它正确地读取数据,但是将值作为ASCII符号打印出来。我想在文件中输出实际的十六进制值。
的例子:
013 d76D6等。
将其强制转换为整数:
cout << hex << static_cast<int>(B[i]) << " " << endl;
或者,如果您不想强制转换,只需添加0:
cout << hex << B[i]+0 << " " << endl;
但是,您可能还想确保对于低于16的值,打印前导0
(例如,对于换行字符0A
,而不仅仅是A
):
cout << setfill('0') << setw(2) << hex << B[i]+0 << " " << endl;
您只需将数字转换为整数:
cout << hex << (int)B[i] << " " << endl;
<iostream>
库(实际上,所有流库)输出char
类型的ascii值。
相关文章:
- 与 string.size() 比较时 int 的符号性显示警告
- 引入参数化构造函数后显示 LNK 2019 未解析外部符号的代码错误
- 在c++中使用setw和setprecision时,如何显示带值的$符号
- 视觉工作室未显示符号表?
- Unicode Chars显示为十进制数字而不是符号,我该如何修复
- 将零附加到数字时,无符号数字会显示不同的结果
- OpenGL符号突出显示visual studio Mac代码中的错误
- 无法使用 fstream 从二进制文件中读取字符串,而是显示奇怪的符号
- 在 mfc 应用程序中显示数学符号
- 使用转储箱显示 DLL 的外部符号 (UNDEF)
- 字符串流问题,我认为我的代码看起来不错,但它显示奇怪的符号
- OSX "ld" : 如何显示未解析符号的损坏名称?如何获取地图文件?
- 为什么非unicode应用程序系统语言环境使Unicode字体具有错误显示的符号字符
- 如何将数组更改为字符串以在C 中显示符号
- 体系结构x86_64的未定义符号-头文件中的显示功能
- 如何在禁用的MFC CEdit控件中显示插入符号
- Qt - 在像素操作后显示无符号字符
- 字符* 数组出现"multiple definitions"错误,但无符号字符数组未显示错误
- Mac上的Qt显示符号未在架构x86_64中找到
- 在c++和护士中显示%符号