Как я могу читать со стандартного выхода моей программы?
Один из моих потоков должен получить доступ к stdout, чтобы прочитать, что другие потоки регистрируют.
Я пользуюсь дорогой старой равниной C.
Заставьте stdout использовать трубу, заменив stdout fd на fd стороны записи pipe , используя dup .
Ты не должен.Предполагается, что stdout является выходом для вашей программы, и поэтому вы не должны его читать.Если вы хотите сделать это, зайдите в другое место.
Если я вас правильно понимаю, вы хотите, чтобы ваши темы общались друг с другом. Использование stdout для связи между потоками не является правильным способом решения этой проблемы.
Возможно, вам следует поискать в Интернете «связь между потоками».