簡體   English   中英

將文件內容重定向到C中的另一個程序

[英]Redirecting file contents into another program in C

做一個基本的外殼,我需要處理文件重定向。 具體來說,我很困惑如何將數據從文件中輸入到諸如sort的程序中。

命令行上的內容如下所示:

$ sort < test.txt

如何在用C制作的自己的迷你外殼中實現這種功能?

我認為可能是從stdin讀取sort ,但是由於只讀的原因,我想我無法真正將文件的內容寫入stdin ,所以我想知道如何將這些數據實際轉換為諸如sort東西? 我當前正在使用forks,然后使用execvp()執行程序。

您需要使用freopen

它的工作方式與fopen類似。 第一個參數是文件名,第二個參數是模式,第三個參數是要重定向的文件指針。 返回值是新文件指針。 因此,如果要重定向標准輸入:

FILE *fp = freopen("input.txt", "r", stdin);

失敗時返回NULL指針,就像fopen一樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM