2017-05-02 16 views
1

私は、いくらか長いテキストファイルを50行2列に取り込み、ユーザーにファイル名を入力させて2つのデメンタルアレイに読み込ませたいと考えています。テキストファイルは、組織名(コンマを含む)と数字の組み合わせです。
テキストファイル自体を表示するコンソールを得ることができますが、データを配列に飾ることになると固まってしまいます。私はgetlinefindを含むループコードを作成して、プログラムが.txtをソートし、コンマで停止し、そのコンマの前のすべての文字を配列の[0] [0]に記録するようにしています。 。私は、ベクトルを使用する方が簡単だと知っていますが、配列でこれを解決したいと思います。.txtファイルを読み込んで2次元配列に整理する

また、名前(文字列)を配列(int)に読み込む問題があります。

+1

表示形式。 intの代わりに文字列を格納することも正しくありません。 – sameerkn

答えて

0

このコードをテストしてください:

#include <vector> 
#include <fstream> 
#include <string> 
#include <sstream> 
#include <iterator> 

template<typename Out> 
void split(const std::string &s, char delim, Out result) { 
    std::stringstream ss; 
    ss.str(s); 
    std::string item; 
    while (std::getline(ss, item, delim)) { 
     *(result++) = item; 
    } 
} 

std::vector<std::string> split(const std::string &s, char delim) { 
    std::vector<std::string> elems; 
    split(s, delim, std::back_inserter(elems)); 
    return elems; 
} 
int main() 
{ 
    std::ifstream file("test.txt", std::ios::binary); 
    std::string a, b; 
    int c; 
    std::vector<std::vector<std::string>> arr; 
    if (file) 
    { 
     while (file >> a) 
     { 
      std::vector<std::string> v = split(a, ','); 
      arr.push_back(v); 
     } 
    } 
    return 0; 
} 

私のtest.txt:ファイルの

m,2 
n,4 
o,6 
p,8 
q,10 
関連する問題