我想读这个二进制文件并在屏幕上打印数字,但它打印奇怪的字符。我从MATLAB生成这个二进制文件。我如何正确显示数据?阅读二进制文件
#include <iostream>
#include <fstream>
using namespace std;
ifstream::pos_type size;
char * memblock;
int main()
{
ifstream file ("seg.bin", ios::in|ios::binary|ios::ate);
if (file.is_open())
{
size = (int)file.tellg();
memblock = new char [size];
file.seekg (0, ios::beg);
file.read (memblock, size);
file.close();
cout << "the complete file content is in memory";
for (int i=0;i<size;i++)
{
cout<<memblock[i]<<endl;
}
}
else cout << "Unable to open file";
return 0;
}
这样做:'cout <<(int)memblock [i] << endl;' – sgarizvi
@ sgar91如果原始数据的类型为“char”,那么只会这样做。 OP没有告诉我们数据类型是什么。 – paddy
请记得删除后面的[] memblock,以防止内存泄漏 – Enigma