可以用std::bitset容器将字符转换成二进制形式。
#include<iostream>
#include<string>
#include<bitset>
#include<fstream>
using namespace std;
istream& rd(istream & istr)//以二进制形式输出文件
{
char a;
int cnt = 0;
while(istr >> a, !istr.eof())//先从文件输入文本形式的内容
{
bitset<8> s(a); //将字符型转化为二进制
cout << s; //输出8位二进制
if(++cnt % 10 == 0) // 80个字符一样
cout << endl;
}
return istr;
}
int main()
{
ifstream ifs("F:\\C++Practice\\unicode.exe");
rd(ifs);
return 0;
}
运行结果如下图: