压缩文件,怎么用bitset?
用 huffman算法压缩文件,现在我只得到字符串的编码,转换到bitset用什么方法写入文件??
比如说
- C/C++ code
outfile.open("xiaobenben.dat",ios::binary); outfile.write((char *)bitset,sizeof(bitset<12>));outfile.write();我上面写的肯定是错的,该怎么用?
[解决办法]
看不懂,用流做应该就可以直接>>,<<的
[解决办法]
- C/C++ code
outfile<<bitset;
[解决办法]
既然你的文件流是以二进制方式打开的,那么别用<<,使用write成员函数是正确的。
你可以把一个bitset对象转换为无符号整数再存储,读取时用该整数初始化bitset。
当然,要考虑bitset位长,较短时多个bitset可装到一个整数中等。
- C/C++ code
unsigned long temp = bitset.to_ulong(); //这里bitset为对象outfile.write(&temp,sizeof(unsigned long));