Прочитайте стандартный вывод из той же программы на C

Как я могу читать со стандартного выхода моей программы?

Один из моих потоков должен получить доступ к стандартному выводу, чтобы прочитать, что другие потоки регистрируют.

Я пользуюсь дорогой старой равниной С.

3 ответа

Решение

Заставьте stdout использовать трубу, заменив stdout fd на сторону записи fd трубы, используя dup.

Ты не должен. Предполагается, что stdout является выходом для вашей программы, и поэтому вы не должны его читать. Если вы хотите сделать это, зайдите в другое место.

Если я вас правильно понимаю, вы хотите, чтобы ваши темы общались друг с другом. Использование stdout для связи между потоками не является правильным способом решения этой проблемы.

Возможно, вам следует попробовать поискать в Интернете "связь между потоками".

Другие вопросы по тегам