2017-12-18 5 views
-3

私はC++のプロジェクトを持っており、テキストファイルから最大のファイル名を見つける必要があります。 私のテキストファイルの例は次のとおりです。だから、C++テキストファイルから列を読み込むには?

foundedindex = instline.find(" "); 
    inst_host = instline.substr(0, foundedindex); 
    //cout << inst_host << " a" << endl; 
    obj[count].sethost(inst_title); 

、私は唯一の「index.htmlを」読みたい「23、htmlの」等「24.html」 私はづつですべての行を区切るときのようなコードでは、並べ替えに時間がかかりすぎます。 私を助けてください。

+5

コード、エラー、サンプルデータ、またはテキスト出力をプレーンテキストとして投稿してください。読みにくい画像ではなく、コピーしてテストコードや回答に使用することはできません。スクリーンリーダーを使用するユーザー質問を編集して、質問の本文にコードを追加することができます。 '{}'ボタンを使ってコードのブロックを整形するか、同じ効果のために4つのスペースをインデントします。 – tadman

+0

'std :: getline()'、 'std :: istringstream'と抽出演算子' >> 'を使って、入力行の一部だけを取得します。 – user0042

+1

コードとデータが混在しているようです。 – Beta

答えて

0

これは、各行の列を取得する方法です。

std::string temp; 
std::vector<vector<std::string>> data; 
while(std::getline(file, temp)) 
{ 
    std::vector<std::string> x; 
    std::istringstream liney(temp); 
    while(std::getline(liney, temp, ' ')) 
    { 
     x.push_back(temp); 
    } 
    data.push_back(x); 
} 
// Then using a column loop through a 2d array. 
int row = 0; 
for(int i = 0; i<data[row].size(); i++) 
{ 
    for(int s = 0; s<data.size(); s++) 
    { 
     data[s][i]; // Do something 
    } 
    row++; 
} 

これが役に立ちます。

+0

@ user0042あなたの提案を反映するために私の投稿を編集しました –

+0

@ user0042これは残念ですが、これは良いはずです。 –

+0

ありがとうございますJake Freeman – Alkyonemis

関連する問題