2017-08-01 13 views
-1

私は本質的にテキストのブロックを入力として貼り付け、これが正しく機能するようにしようとしています。私は実際に外部のテキストファイルを使って動作させましたが、cinを使って動作させることに失敗しました。以下は実際の例です。あなたが見ることができるように、私はそれぞれの新しい行を、多くの問題が発生している関数入力の新しい要素にしたいと思います。複数行の複数変数cin入力を入力しようとしています

int uaid; 
string name; 
float gpa; 
int i = 0; 
ifstream infile("student.txt"); 
while (infile >> uaid >> name >> gpa) { 
    students[i].Set(uaid, name, gpa); 
    i+=1; 
} 
+0

"は、それが仕事を得ることに失敗した" CTRL + Dである

#include<iostream> #include<vector> #include<algorithm> #include<iterator> using namespace std; int main() { vector<string> v; istream_iterator<string> start_cin(cin); istream_iterator<string> end_of_cin; copy(start_cin,end_of_cin,back_inserter(v)); cout<<"Pressed ctrl D"<<endl; cout<<"Below is the continous string"<<endl; copy(v.begin(),v.end(),ostream_iterator<string>(cout," ")); } 

役に立つ問題の説明ではありません。 "こんにちは、チャックの自動車修理?私は私の車を働かせることができません、あなたは私を助けることができますか?" –

+0

これがうまくいくようなことはありますか?一方(のgetline(CIN、uaid >>名>> GPA){ \t \t学生[I] .SET(uaid、名前、GPA); \t \t I + = 1; \t} – Sam

+0

使用istream_iteratorに連続CIN –

答えて

0

あなたはIstream_Iterator stl.Continouslyを使用することができますが、文字列のベクトルに追加されます使用(Macが終了するため)

string 1 
string 2 value 
1 2 3 4 \n \d 
everything is there 
Pressed ctrl D 
Below is the continous string 
string 1 string 2 value 1 2 3 4 \n \d everything is there Program ended with exit code: 0 
+0

今 – Sam

+0

これは可能です(例:すべてが文字列として扱われます)。 –

+0

コピーでは可能です(v.begin()、v.end()、ostream_iterator () (行番号、 "\ n")); \\新しい行に出力\ –