[英]C redirect standard output to several places
將輸出重定向到另一個目標非常容易。 我可以輕松實現:
freopen ("/def/tty0", "w", stdout);
printf ("Redirected");
fclose (stdout);
但是,如何將其重定向到兩個或多個文件? 我需要類似於“ tee”提供的功能。
有沒有眾所周知的方法?
這不可能直接做到:每個文件描述符都恰好分配給一個資源(通常是一個文件)。 如果要寫入FILE
產生寫入多個文件的收益,則必須采取一些技巧。 這里有一些想法:
fopencookie(3)
來創建一個FILE*
,該FILE*
實際上輸出到多個文件。 有關更多詳細信息,請參見fopencookie(3)
的聯機幫助頁。 tee(1)
並將數據寫入tee(1)
的標准輸入中。 看一下popen(3)
有用的功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.