C ++ - 如何从带分隔符的文件中读取vector <bool>

时间:2015-12-24 00:33:38

标签: c++

我的目的是阅读由分隔符&#39; |&#39;分隔的n vector<bool>。从文本文件。文本文件内容的示例可以是:

0111110001|0111110110|00|11001111100|1100110100|

这可能吗?你能给我一些提示吗?我刚刚开始使用C ++。

1 个答案:

答案 0 :(得分:0)

这样的事情怎么样:

#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    ifstream fp("myfile.txt");
    if(!fp) {
        cerr << "Failed to open input file" << endl;
        return 1;
    }


    vector<vector<bool>> lists;
    lists.push_back(vector<bool>());

    char ch;
    while(fp.good()) {
        fp >> ch;
        switch(ch) {
        case '0':
            lists.back().push_back(false);
            break;
        case '1':
            lists.back().push_back(true);
            break;
        case '|':
            lists.push_back(vector<bool>());
            break;
        }
    }

    return 0;
}