C++ C++;为什么我能';t使用循环:while(fin>;>;x)两次

C++ C++;为什么我能';t使用循环:while(fin>;>;x)两次,c++,file,loops,io,C++,File,Loops,Io,我对c++中的文件I/O有一些疑问。 当我在程序中使用while(fin>>x)两次和cout两次时,只有第一次显示在屏幕上 我的test.txt是: I like eat banana I like eat apple 我的代码: #include <iostream> #include <string> #include <cstdlib> #include <fstream> using namespace std; int main()

我对c++中的文件I/O有一些疑问。 当我在程序中使用
while(fin>>x
)两次和
cout
两次时,只有第一次显示在屏幕上

我的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;
}
#包括
#包括
#包括
#包括
使用名称空间std;
int main(){
流鳍;
fin.open(“test.txt”);
if(fin.fail()){
库蒂){
b[j]=y;
j++;
}

对于(int q=0;q产生原因
fin>>x
返回false(并退出第一个循环)当您稍后编写
fin>>y
时仍然存在。因此,一旦
fin>>x
-loop离开,将不会输入
fin>>y
-loop。

请以明文形式发布代码并输出,而不是以屏幕截图的形式。您可以复制并粘贴您的代码到消息中吗?