Прочитайте стандартный вывод из той же программы на C - PullRequest
1 голос
/ 09 февраля 2010

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

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

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

Ответы [ 3 ]

5 голосов
/ 09 февраля 2010

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

2 голосов
/ 09 февраля 2010

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

1 голос
/ 09 февраля 2010

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

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

...