2016-09-29 55 views
-3

比如我有一个C程序具有可执行目标PROG和文件file.txt的有没有办法在Unix中不使用扩展名来重定向文件?

有没有在我的C程序的方法,使标准输入阅读并接受未经其扩展file.txt的。目前,我的代码读取标准输入是..

while (scanf("%d ", &n) != EOF) 

在此,我必须做./prog < file.txt的

但我想这样做./prog <文件

+1

将'file.txt'重命名为'file'选项? – jwodder

+1

没有。因为它不是C分析文件名。重定向发生在shell级别。你几乎可以告诉shell“把'file'并把它变成prog的stdin”。这意味着你可以做'prog

+0

你试过了吗?这比在这里发布要快得多。发生了什么? – Robert

回答

0

但我想这样做./prog <文件

不,这是行不通的。你只是必须要明确和使用:使,而不是使用OS重定向,你把文件作为命令行参数和开放+自己读它

./prog < file.txt 
0

改变你的计划。

这样你就可以对你认为有必要的文件名进行任何字符串操作。

+0

是的,这也是我们的目标之一。我很容易地做到了这一点,但在他看来,他希望重定向使用带有隐式扩展的文件 – Jasep88

相关问题