int main(int argc, char **argv ) with < stdin > stdout in c

int main(int argc, char **argv ) with < stdin > stdout in c

如果我想通过这样的命令使用一个 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命令做什么呢?

当您执行此操作时: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。如果那是你想要做的,你需要修改程序让它这样做。