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 @ 2022-12-08 11:56  三岁玩童  阅读(11)  评论(0编辑  收藏  举报