读取二进制文件,乱码为什么出现?求高手指教。
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
int main()
{ifstream fin;
fin.open("np.exe",ios::binary|ios::in);
if(!fin){abort();}
char ch;
while (fin.read(&ch,1))
{
cout.setf(ios::hex,ios::basefield);
cout.setf(ios::showbase);
cout<<ch<<" ";
}
system("pause");
}
为什么会读出乱码?想读取.exe文件内容还有哪里要改进的?