C++ - 如何使用<bool>分隔符从文件中读取矢量

C++ - How to read vector<bool> from file with delimiter

本文关键字:文件 读取 分隔符 bool 何使用 lt C++ gt      更新时间:2023-10-16

我的目标是从文本文件中读取由分隔符'|'分隔的n个vector<bool>。文本文件内容的一个例子可能是:

0111110001|0111110110|00|11001111100|1100110100|

这样做可能吗?你能给我一些提示吗?我只是从C++开始。

这样的东西怎么样:

#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;
}