2016-12-06 36 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*流。

相关问题