设为首页 加入收藏

TOP

简单c++序列化(二)
2013-01-13 10:32:28 来源: 作者: 【 】 浏览:720
Tags:简单 序列化

 

    vector<packet*> vv;

    int main() {

    packet* p1 = new packet;

    p1->x = 10; p1->name = "p1";

    packet* p2 = new packet;

    p2->x = 20; p2->name = "p2";

    vv.push_back(p1);

    vv.push_back(p2);

    ofstream ofss;

    ofss.open("pppppppppp.txt", ios::binary);

    serialize(cout, vv);

    ofss.close();

    vv.clear();

    ifstream ifss;

    ifss.open("pppppppppp.txt", ios::binary);

    de_serialize(ifss, vv);

    ifss.close();

    printf("vv.size=%d\n", vv.size());

    for_each(vv.begin(), vv.end(), [](packet* pp) {

    printf("x: %d, name:%s\n", pp->x, pp->name.c_str());

    });

    printf("================\n");

    packet p;

    p.x = 3; p.name = "name1";

    m .push_back(p);

    p.x = 4; p.name = "name2";

    m .push_back(p);

    ofstream ofs;

    ofs.open("zzzzzzzzzzzzzzzzzzzzzzz.txt", ios::binary);

    serialize(ofs, m);

    ofs.close();

    // ZeroMemory(&p, sizeof(p));

    m.clear();

    ifstream ifs;

    ifs.open("zzzzzzzzzzzzzzzzzzzzzzz.txt", ios::binary);

    de_serialize(ifs, m);

    ifs.close();

    printf("m.size = %d\n", m.size());

    for_each(m.begin(), m.end(), [](pair<int, vector<packet》 p) {

    printf("m[%d].size=%d\n", p.first, p.second.size());

    for_each(p.second.begin(), p.second.end(), [](packet p) {

    printf("x = %d, name=%s\n", p.x, p.name.c_str());

    });

    });

    }

      

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C/C++回文字符串  下一篇Nandflash 驱动移植

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: