用fopen用c语言写txt

用fopen用c语言写txt,c,fopen,dup2,C,Fopen,Dup2,我正在学习计算机科学,我应该为一个项目创建一个c shell。在项目的这一部分,我必须为这些类型的命令编写代码:“sortout.txt”。我的问题是,在使用execlp对我的“in.txt”进行排序后,我无法将结果写入我创建的“out.txt”。我的代码如下: outfile = fopen("out.txt", "w"); dup2((int) outfile , 0); dup2((int) outfile , 1); close (outfile); 有人知道我要修什么吗?谢谢。您似乎

我正在学习计算机科学,我应该为一个项目创建一个c shell。在项目的这一部分,我必须为这些类型的命令编写代码:“sortout.txt”。我的问题是,在使用execlp对我的“in.txt”进行排序后,我无法将结果写入我创建的“out.txt”。我的代码如下:

outfile = fopen("out.txt", "w");
dup2((int) outfile , 0);
dup2((int) outfile , 1);
close (outfile);

有人知道我要修什么吗?谢谢。

您似乎想将文件描述符0和1从stdin和stdout更改为您的特定文件。如果是这样,请使用标准。

首先应使用open而不是fopen。将outfile转换为int是非常错误的。
其次,您必须在.txt中打开。第一次dup2应该使用的此文件的文件描述符。

为什么不检查
fopen()
是否成功?