По какой-то причине scanf не работает должным образом после использования перенаправления c для передачи ввода в stdin.Я тестировал тот же код без перенаправления c, и он прекрасно работает.
Кроме того, я попытался очистить stdin перед выполнением операций scanf с fflush (stdin) , и это также помоглоне работает.
Запуск моего исполняемого файла, например
./3240Assignment0 < test-input.txt
Код для запуска операции scanf выглядит следующим образом
int main(int argc, char** argv){
fflush(stdin);
char input[100];
char *output = "Thank you for your message!";
puts("Tell me something nice:");
scanf("%s", input);
printf("%s\n\n", output);
}
Проблема в том, что терминал не работаетне дает мне возможность вводить любую информацию или ввод.
Скрипт моего терминала
Joes-MacBook-Pro:a0 joemanto$ make test
./3240Assignment0 < test-input.txt
Tell me something nice:
Thank you for your message!
Joes-MacBook-Pro:a0 joemanto$