2012-04-04 11 views
0

データが列として格納されているテキストファイルがあります。各列を配列に抽出するにはどうすればよいですか?テキストファイルの列を読む賢明なC++

例:ABCD

14 15 16 17 

Iは= {10,14}、B = {11,15} C = {などの4つの配列を望ん12,16}、D = {13,17}

以下

Iは、単一のアレイにそれらを追加するためにこれまで行ってきたものである。

CArray <double,double> *data = new CArray <double,double>(); 

CString strLine; 

TRY 

{ 
    CStdioFile file(m_fileName, CFile::modeRead); 

    while(file.ReadString(strLine)) { 
     CArray <double,double> arrayValues; 
     splitString(strLine,arrayValues); 

     for (int i=0; i< arrayValues.GetSize()-1;i++){ 
     // Temp_data[i] = arrayValues.ElementAt(i); 
      data->Add(arrayValues.ElementAt(i)); 
     } 
    } 
} 
CATCH_ALL(e) 
{ 
    e->ReportError(); // shows what's going wrong 
} 
END_CATCH_ALL 


void splitString(CString S, CArray<double,double>& arrayValues){ 

CString sep = _T(" "); 
int start = 0; 
CString aux = S.Tokenize(sep, start); 
arrayValues.Add(_tstof(aux)); 
while(start != -1){ 
     aux = S.Tokenize(sep, start); 
     arrayValues.Add(_tstof(aux)); 

} 

} 

ありがとうございます。

+1

テキストファイルの値から配列の名前を付けることを意味しますか? –

答えて

1

私はあなたにいくつかの提案をするまで何も試していないので、

最初にstringに入力して分割し、すべての値を配列に格納します。 最終的には、配列の合計行が得られます。

は、インデックスを使用して、次のようなインデックスに基づいて別の列配列に格納します。 類似のインデックスを持つ配列内のすべての要素は、配列colNに格納されます。

0

ヒント - 私はあなたのためのコードを書いていない、あなたが心を習慣ホープ:)

  • InputStreamを使用してファイルを読み込みます。
  • 入力データをトークン化して行を分割します。
  • atoi()メソッドを使用して、文字列を整数に変換して配列に移入します。
+0

私は似ていますが、atoiの代わりにstringstreamを使用します。 –

関連する問題