问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C++ dynamic_bitset

发布网友 发布时间:2022-05-02 16:11

我来回答

2个回答

热心网友 时间:2022-06-20 20:01

fout.write((char*)&bt, sizeof bt);

 

fin.read((char*)&rebt, sizeof bt);

 

又不是传统数据类型,输入输出的时候怎么会可以这样……

#include <iostream>
#include <fstream>
#include <boost/dynamic_bitset.hpp>
using namespace boost;
using namespace std;
int main()
{
    int a=5;
    int i;
    dynamic_bitset<> bt(a);
    for(i=0; i<a; i++)
    {
        cout<<bt[i]<<" ";
    }
    cout<<endl;
    for(i=0; i<a; i++)
    {
        if(i%2==0)
        {
            bt.push_back(true);
        }else
        {
            bt.push_back(false);
        }
    } 
    int len = bt.size();
    cout<<"bt含有:"<<len<<" 个元素。";
    cout<<endl;
    //因为用的是动态分配,所以不能用sizeof去获取
    //int capa = sizeof bt;
    //cout<<"bt占用"<<capa<<"个字节。";
    int capa = bt.num_blocks() * sizeof(dynamic_bitset<>::block_type);
    cout<<"bt占用"<<capa<<"个字节。";
    cout<<endl;
    for(i=0; i<len; i++)
    {
        cout<<bt[i]<<" ";
    }
    cout<<endl;
    ofstream fout("D:/dybit.dat", ios_base::out | ios_base::binary);
    //取出原始数据,再写入文件
    int nBlockCount = bt.num_blocks();
    dynamic_bitset<>::block_type* blocks = new dynamic_bitset<>::block_type[nBlockCount];
    to_block_range(bt, blocks);
    fout.write((char*)blocks, nBlockCount * sizeof(*blocks));
    delete[] blocks;
    //关闭文件,免得打不开
    fout.close();
    ifstream fin("D:/dybit.dat", ios_base::in | ios_base::binary);
    dynamic_bitset<> rebt(len);
    //先读出原始数据,再恢复到对象
    dynamic_bitset<>::block_type* newBlocks = new dynamic_bitset<>::block_type[nBlockCount];
    fin.read((char*)newBlocks, nBlockCount * sizeof(*newBlocks));
    fin.close();
    from_block_range(newBlocks, newBlocks + nBlockCount, rebt);
    delete[] newBlocks;
    for(i=0; i<len; i++)
    {
        cout<<rebt[i]<<" ";
    }
    cout<<endl;
    return 0;
}

来自:求助得到的回答

热心网友 时间:2022-06-20 20:02

什么意思 这么复杂!!
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
长沙到西昌。坐火车先从长沙到成都、成都东,再到西昌,哪个方便一些 S先生与P先生谜题的题面 为什么首都设在襄阳 改姓可以不随父母性吗 韩艺瑟怎么改姓? 纸、墨、笔、砚是中国传统的文房四宝,墨的使用最早在 [ ] A.商代后期... 想问下创维光伏E企赢模式有哪些优势,到底值不值得投资啊?有没有合作... 太平洋太享e保百万医疗值得入手吗?每年花多少钱? 爱e满分适合哪些人买?注意哪些问题? 太平洋太享e保百万医疗适合哪些人买?价格多少? dota飞鞋问题 editplus怎么写汇编程序 Dota如何克制弧光守卫者推塔流,怎么样杀崩弧光守卫者,他太烦,憋出个小人书就推塔真无解 输入二叉树前序中序遍历输出二叉树 C++ 信号放大器 Java大问题 有关java程序的小问题 红旗版本Linux(asianux server 4)安装unixODBC-2.2.12,在make时出现CAbout错误,求解答,谢谢,重赏! 请问怎么在QT Creator 的PushButton的中,点击后发出Beep()声音 cocos2d-x中的gui和ui有什么区别 关于图片加了onclick怎么将鼠标变成小手型啊? 网页制作?急! flash cs3 中怎么添加播放暂停按钮,用AS3.0动画效果怎么实现,按下就显示暂停在按下播放,是动画怎么做 请问 管理技能的名词解释是什么? 谢谢 求管理学名词解释,如下 急求!!!管理学中名词解释答案!!! 管理学 名词解释 管理学定义的名词解释 名词解释管理层次 管理方法名词解释 如何吃芦荟? SQLserver如何建事务表 求设计一个程序,实现树的深度优先与广度优先遍历。急急急!! 什么是社保卡数据采集服务? DOTA怎么选择攻击路线 安托的数据采集服务是无间断的吗? 数据采集服务哪里可以找到 华为 数据采集服务 ats数据集 做错怎么重置? 安托数据的那个数据采集系统服务是哦一个什么样的啊? 怎么才能在录屏的时候 沈阳麦克奥迪能源科技有限公司的数据采集服务功能能够带给企业什么样的好处呢? 家里来了黄鼠狼,怎么办? 家里进了黄鼠狼怎么办 七堇年本人的微博地址是什么? 最孤独的诗无人与我立黄昏谁写的 小七(七堇年)为什么离开最小说?她要出新书吗 为什么最小说里没有七堇年的文了 无人问我粥可温,无人与我立黄昏。 谁的歌 问,赵勤(七堇年)的家庭背景? 七堇年、苏小懒 什么时候不在最世了