【发布时间】:2016-02-13 22:49:49
【问题描述】:
如果我想使用一个 exe 文件和这样的命令:
1.exe < input.txt > output.txt
在C程序中输入文件名,用于修改输入文件和输出文件,可以吗?
我已尝试使用 1.exe input.txt output.txt 它有效。
但是,当我将其更改为1.exe < input.txt > output.txt时,它无法打开文件。
甚至,我增加了指针,argv[1] 到 argv[2] 和 argv[2] 到 argv[4]。
那么,1.exe < input.txt > output.txt 命令应该怎么做呢?
【问题讨论】:
-
我不使用
.exe文件。你的观点是什么? -
我不明白。 '我已经尝试过 1.exe input.txt output.txt 它可以工作' - 你为什么不停在那里?
-
这不是一个真正的 [c] 问题。您提供的两个命令对shell 有不同的含义。尽管您可以编写在这两种情况下表现出相同行为的程序,但没有理由期望免费获得它。既不是 C 语言,也不是任何其他语言。
-
< input.txt > output.txt指定的重定向在程序启动之前由 shell 处理。您的程序在argv中看不到这些文件名,但它可以通过stdin和stdout访问打开的文件。有关重定向的更多详细信息,请阅读您的 shell 的文档。 -
也许你想要
1.exe "< input.txt" "> output.txt"?