2017-12-05 3 views
-8

ファイルI/O in C++に関する質問があります。 while(fin>>xを私のプログラムで2回、coutを2回使用すると、最初の画面にのみ表示されます。C++ループを使用できない理由:while(fin >> x)を2回使用する

そして、私ののtest.txtは次のとおりです。

I like eat banana 
I like eat apple 

マイコード:

#include <iostream> 
#include <string> 
#include <cstdlib> 
#include <fstream> 
using namespace std; 
int main(){ 
    ifstream fin; 
    fin.open("test.txt"); 
    if(fin.fail()){ 
    cout<<"Error!"<<endl; 
    exit(1); 
    } 
     else{ 
    int i=0,j=0; 
    string x,y,a[20],b[20]; 
    while(fin>>x){ 
    a[i]=x; 
    i++; 
    } 
    fin. 
    while(fin>>y){ 
    b[j]=y; 
    j++; 
    } 
for(int q=0;q<20;q++){ 
cout<<a[q]<<" "; 
} 
for(int w=0;w<20;w++){ 
cout<<b[w]<<" "; 
} 
    } 
    fin.close(); 
    return 0; 
} 
+2

スクリーンショットではなく、コードを投稿してプレーンテキストとして出力してください。 –

+1

メッセージにコードを貼り付けてコピーできますか? – Allan

+0

http://idownvotedbecau.se/imageofcode – Bathsheba

答えて

2

作る理由あなたがfin >> y権利を記述する際にまだ存在fin >> xリターン偽(最初のループを終了します)その後。したがって、fin >> x -loopが残ってしまうと、fin >> y -loopは入力されません。

+0

ファイルをもう一度読むことができますか? –

関連する問題