execvp对内容进行排序

execvp对内容进行排序,c,unix,exec,execvp,C,Unix,Exec,Execvp,我正在尝试使用execvp对文件进行排序,下面是我的代码 char *argv1[]={ "sh", "-c", "sort input.txt > output.txt", NULL }; 问题是此命令对输出文件中的内容进行排序,但我只希望对终端输出进行排序。要在终端上获得输出,而不是在文件中使用: system{ "sort input.txt" ); 不要使用像execvp()这样昂贵的东西。上面这一行完成了整个工作您可以参考 替换为以下代码 char *cmd1[] = { "

我正在尝试使用execvp对文件进行排序,下面是我的代码

char *argv1[]={ "sh", "-c", "sort input.txt > output.txt", NULL };

问题是此命令对输出文件中的内容进行排序,但我只希望对终端输出进行排序。

要在终端上获得输出,而不是在文件中使用:

system{ "sort input.txt" );

不要使用像
execvp()
这样昂贵的东西。上面这一行完成了整个工作

您可以参考

替换为以下代码

char *cmd1[] = { "sort", "input.txt", 0 };
char *cmd2[] = { "tee", "output.txt", 0 };

那么,不要将其重定向到输出文件。只是不要重定向输出!为什么不直接使用
system()
而不是
fork()
/
exec