这是从文本文件中获取输入的代码。我使用了字符明智的阅读。当我打印 B 时,它只在 'rao' 之后打印额外的行。
我的文本文件输入是:
1 singh
2 sen singh rao singh pal sen jain sen de rao
3
这是代码
int main() {
ifstream in;
in.open( "Text.txt" );
string s;
while(getline(in,s)){
char x;
x=in.get();
if(x=='1'){
string s;
in>>s;
}
if (x=='2'){
char c;
c=in.get();
c=in.get();
do{
string A;
string B;
do{
A=A+c;
c=in.get();
} while(c!=' ');
c=in.get();
do{
B=B+c;
c=in.get();
} while(c!=' '&&c!='1'&&c!='2'&&c!='3'&&c!='4'&&c!='5'&&c!='6'&&c!='7');
cout<<B<<endl;
}
while(c!='1'&&c!='2'&&c!='3'&&c!='4'&&c!='5'&&c!='6'&&c!='7');
if(c!='1'||c=='2'||c=='3'||c=='4'||c=='5'||c=='6'||c=='7'){
in.putback(c);
}
}
}
}