Здравствуйте, я пишу программу в C. Я начинаю так, как после компиляции.C stderr к файлу
/a.out <source.txt >output
Я хочу, чтобы все сообщения были напечатаны в файле output.txt. Однако я бы хотел отправить ошибки на консоль, а не в файл. Проблема заключается в том, когда я использую это заявление в своем коде:
freopen("errors.txt", "w", stderr);
fprintf (stderr, "%s\n", s);
Все Erros также напечатаны в output.txt файл не errors.txt я был бы признателен за любую помощь.
Как именно вы вызывали свой исполняемый файл с перенаправлением вывода? Можете ли вы вставить свою командную строку? –
Только способ, которым эта команда печатается в файле output.txt, заключается в том, что вы перенаправили свой stderr в какой-либо файл. –
Возможный дубликат [In C как вы перенаправляете stdin/stdout/stderr в файлы при выполнении execvp() или аналогичного вызова?] (Http://stackoverflow.com/questions/14543443/in-c-how-do- вы-redirect-stdin-stdout-stderr-to-files-when-making-an-execvp-or) –