int main(int argc,char**argv),c中带有<stdin> stdout

Tia*_*ang -2 c stdin argv

如果我想使用这样的命令使用一个exe文件:

1.exe < input.txt > output.txt
Run Code Online (Sandbox Code Playgroud)

要将文件名输入到用于修改输入文件和输出文件的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命令?

dbu*_*ush 6

执行此操作时:1.exe input.txt output.txt它将input.txt作为第一个参数传递给1.exe,将output.txt传递给第二个参数.

这不同于1.exe < input.txt > output.txt,它将input.txt的内容放在stdin上,并将stdout写入output.txt.

程序1.exe期望获得它随后打开和操作的文件的名称.它不期望从stdin读取并写入stdout.如果这是你想要做的,你需要修改程序才能做到这一点.