我打开了一个带有名为 .txt 的 ifstream 对象的 .txt 文件input
。如果新行以“(”开头,那么它不会按照我想要的方式读取它。预期的输出不会被打印,然后它会退出循环。我希望它仅在以下情况下跳出 while 循环它到达文件的末尾。我在做什么错?我的 do while 循环和我的 .txt 文件在下面。
char c;
int i;
do
{
if(input.peek( ) == '(' || input.peek( ) == ')')
{
input >> c;
cout << c;
}else if(input.peek( ) == '+' || input.peek( ) == '-' || input.peek( ) == '*' || input.peek( ) == '/')
{
input >> c;
cout << c;
}else
{
input >> i;
cout << i;
}
}while(input && input.peek( ) != EOF);
这是 .txt 文件,每个文件位于单独的行中:
(3)
(3)
4
(5+7)-(5*3)
这是我的输出:
(3)3