2016-12-06 34 views
-1

好的,你好。我的意圖是要求用戶輸入文件名並使用管道機制打開文件。現在我只有這個代碼。如何實際執行管道以及存儲信息的位置 - .myprog < text,其中text是getchar應該採用的輸入。在此先感謝使用getchar從控制檯打開文件

#include <stdio.h> 
#include <stdlib.h> 

int main(void) 
{ 
    char input; 
    input=getchar(); 
} 
+2

「如何實際執行管道」 - 這是由shell完成的。 '。/ myprog'的標準輸入是'text'的內容。 「存儲的信息在哪裏」 - 根本不是,它是從「文本」中讀取的(如您所請求的)。沒有你的C程序意識到這種情況發生。你只是從'stdin'讀取。 – DevSolar

+0

我正確地格式化了代碼,並讓'main'擁有推薦的簽名(如果沒有參數傳遞)。從中學習,不要太習慣於格式化。閱讀更多關於C **適當格式化**的信息。請注意,我離開en錯誤:檢查返回類型'getchar'返回和**爲什麼**。 – Olaf

回答

2

重定向從一個文件中的標準輸入被shell執行:您指定的命令行上的文件名。

您也可以從fgets()用戶讀取文件名並在程序中打開該文件。您可以使用freopen()來指定要使用的流,例如,您可以使用stdin作爲FILE*流。

相關問題