В программах на C ++ открыто три стандартных файла: стандартный ввод под номером 0
, стандартный вывод под номером 1
и стандартная ошибка под номером 2
(C ++ также имеет стандартный журнал с std::clog
, но он такой же, какстандартный вывод, за исключением того, что он не буферизован).
То, что вы делаете с 1<
, пытается перенаправить ваш ввод на стандартный выход .Это, конечно, не сработает.
Если у вас есть пробел между 1
и <
, как в 1 <
, тогда вы передаете 1
в качестве аргумента программе (который будетпомещается в argv[1]
, индекс не связан с аргументом), а перенаправление выполняется на стандартный ввод.