Так что я пытаюсь либоКак ожидать ввода от переназначения и пользовательского ввода
а) позволяет пользователю ввести строку, пока они не введите EXIT
или
б) перенаправлять файл со стандартного вход (a.out < test.txt
) до в конце файла, а затем прекратить
Моей попытки коды:
#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;
int main(){
string input = "";
while(true){
cout << "Enter string: ";
while(getline(cin, input)){
if(input == "exit" || cin.eof()) goto end;
cout << input << "\n";
cout << "Enter string: ";
}
}
end:
return 0;
}
Это вызывает проблемы с перенаправлением, когда я использую команду a.out < test.txt
я получаю бесконечный цикл (где test.txt содержит одну строку «Привет»)
вход пользователя кажется, работает хорошо
Я использую GetLine потому что в реальной программе мне нужно прочитать файл построчно, а затем манипулировать линии, прежде чем перейти к следующей строке файла
EDIT: Мой вопрос, как я могу прекратить этот цикл составляет как ввод и перенаправление пользователя?
Ваш код работает на меня https://ideone.com/pj0xID – Hawkings