reinterpret_cast And print hex

复制代码
 1 #include <iostream>
 2 #include <iomanip>
 3 #include <cstdio>
 4 #include <fstream>
 5 using namespace std;
 6 
 7 // CPP program to demonstrate working of
 8 // reinterpret_cast
 9 void TestReinterpret_cast()
10 {
11     int* p = new int(65);
12     char* ch = reinterpret_cast<char*>(p);
13     cout << *p << endl;
14     cout << *ch << endl;
15     cout << p << endl;
16     cout << ch << endl;
17 }
18 
19 //Hex
20 void ToolPrintHex()
21 { 
22     ofstream file;
23     file.open("data_.log",std::ios_base::trunc);       
24 
25     char b[] = "ABCEDFG";                                        //b始终指向他所代表的数组在内存中的位置,始终可写!
26     const char* a  = b;                                          //a指向的是一个字符串常量,即指向的内存区域只读;
27     int len = sizeof(b) / sizeof(char) - 1;                      //=8,最后有一个'\0'
28     for (int i = 0; i < len; i++)
29     {
30         cout <<   i <<":"           << a[i]    <<" ";           //(a+i):BCDEFG,CDEFG...
31         cout << hex << setfill(' ') << setw(2) << (unsigned int)(unsigned char)(a[i])  << " ";
32         cout << hex << setfill(' ') << setw(2) << (int)b[i]<<endl<<flush;
33         file << hex << setfill(' ') << setw(2) << (unsigned int)(unsigned char)(a[i]) << " ";
34     }
35 }
复制代码

 

posted @   三岁玩童  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示