2015-05-04 42 views
0

我正在學習計算機科學,我應該爲一個項目創建一個ac shell。在這部分項目中,我必須編寫這些類型的命令的代碼:「sort < in.txt> out.txt「。我的問題是,在使用execlp來排序我的「in.txt」後,我無法將結果寫入我創建的「out.txt」中。我的代碼是這樣的:使用fopen在c語言中編寫一個txt文件

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

有誰知道我必須解決什麼問題?謝謝。

+0

你爲什麼不檢查'fopen()'的成功? –

回答

0

看來你想要將文件描述符0和1從stdin和stdout更改爲您的特定文件。如果是這樣,請使用標準freopen

0

首先您應該使用開放而不是fopen。演員outfileint是非常錯誤的。 秒你必須打開in.txt。這個文件的文件描述符應該用於您的第一個dup2