2015-12-24 25 views
-3

我的目標是讀取由分隔符'|'分隔的n vector<bool>從一個文本文件。該文本文件的內容的一個例子可能是這樣的:如何從帶分隔符的文件中讀取向量<bool>

0111110001|0111110110|00|11001111100|1100110100|

這是可能的嗎?你能給我什麼提示嗎?我剛剛開始使用C++。

+0

做用'分隔標記|'代表一個'標準::矢量'每個? –

+0

是的,這是可能的。你有嘗試過什麼嗎?例如使用'ifstream'來讀取一些數據。發佈一些代碼,你會得到幫助。但我們不能做你的功課... – 4386427

+0

@RSahu是的,每個'std :: vector '由'|'分開。在上面的例子中,有5個'std :: vector ' –

回答

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; 
} 
相關問題