我正在尝试从磁盘读取文件,并输出其十六进制表示。
我使用的代码是:
#include <iostream>
#include <fstream>
using namespace std;
int main() {
ifstream file ("mestxt", ios::binary);
if (file.is_open())
{
char* buffer;
buffer= new char[0];
cout<< "File open"<<endl;
int count=0;
while (file.good())
{
file.read(buffer, 1);
cout<<hex<<int(*buffer)<<" ";
count++;
if (count%16==0) cout<<endl;
}
file.close();
}
}
它有效,但它只是......让我感到恐惧,我不禁认为必须存在一些功能可以完成我所做的事情,只是更好。
输入:
bn0y5328w9gprjvn87350pryjgfpxl
输出:
文件打开
62 6e 30 79 35 33 32 38 77 39 67 70 72 6a 76 6e
38 37 33 35 30 70 72 79 6a 67 66 70 78 6c 6c