关于bitset位与文件的读写问题求救!
void main()
{
bitset <8> b( "10100111 ");
bitset <8> bb;
ofstream ofs( "1.txt ",ios::binary);
ofs.write((char*)&b,1) ; //写入 b
cout < < "b: " < <b < <endl;
ifstream ifs( "1.txt ",ios::binary);
ifs.read((char*)&bb,1);
cout < < "bb: " < <bb < <endl;
}
//结果是
b:10100111
bb:00000000
怎么样才能 得到相同的bb呢
[解决办法]
写错了,是ifs.tie(&ofs);
[解决办法]
#include <iostream>
#include <fstream>
#include <bitset>
using namespace std;
int main() {
bitset <8> b(10100111);
bitset <8> bb;
ofstream ofs( "1.txt ", ios::binary);
ofs.write((char*)&b, sizeof(b)); //写入 b
cout < < "b: " < <b < <endl;
ofs.close();
ifstream ifs( "1.txt ", ios::binary);
ifs.read((char*)&bb, sizeof(bb));
cout < < "bb: " < <bb < <endl;
ifs.close();
}
主要是你没有关闭文件.