Вы не сможете сделать это таким образом. >
говорит оболочке открыть file2.txt
для записи. Затем тот же поток подключается к stdout
/ std::cout
вашей программы, так что все, что вы печатаете, будет помещено в этот файл. Таким образом, у вас нет iostream
, но std::cout
подключен к этому файлу.
Вам нужно предоставить файл в качестве аргумента вашей программе, если вы хотите получить полный контроль, так же, как вы даете file1.txt
в качестве аргумента для программы:
./prog file1.txt file2.txt
Теперь вы можете открыть оба файла внутри prog
.