2017-03-15 3 views
-2

に文字列を分割し、次に、単語列としてテキストファイルを読むC++ - 「grades.txt」の内容であると仮定ベクター

David 99 94 95 
    Mike 91 84 
    John 100 85 
    Lexa 76 88 90 74 85 76 
    Paul 83 95 
    Ryan 71 72 85 
    Tommy 95 96 
    Joseph 100 83 85 86 
    Denise 100 90 76 
    Ava 80 90 

ファイルの最初の行がで示されています各生徒の名前。それ以降の行は、各生徒の成績のランダムな集まりです。

私の質問は、どのように単語の文字列としてファイルを読み込み、文字列をベクトルに分割して、各要素を自分のクラスの生徒の正しい場所に整理することができるかということです。これを達成するためのより簡単な方法があれば、私もそれに感謝します。助けていただきありがとうございます。ここで

は私のクラスの生徒である:

class Students { 
    public: 
     Students(); 
     ~Students(); 

    private: 
     string name; 
     int grades; 
    }; 
+1

これまでに何を試みましたか? –

+0

あなたのクラス「学生」がどのようにデータを保存するかを説明してください。 [小さなプログラムをデバッグする方法](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/)もお読みください。 –

+0

問題を解決するには、問題のGoogle cppリファレンスを上げてください。ファイルを文字列に読み込み、readline関数を使用して文字列を解析してスペースを見つけ、値をカットし、各生徒の配列にグレードを格納することができます。最初から最後まで徐々にプログラムを開発します。つまり、ビルド→テスト→改善です。データ構造から始めて、ファイルを開き、値を読んだり、分割したり、格納する方法を考えたりする必要はありません。反復的な開発:各プログラムの反復では、処理の中で1つの余分なステージを実装し、その作業を取得してから次のステップを追加します。 –

答えて

0

あなたが後押し::スプリットを試すことができます。 例:

//split strFileBuffer with space and get the string vector. 
string strFileBuffer; 
vector<string> strs; 
boost::split(strs, strFileBuffer,boost::is_any_of(" ")); 
関連する問題