1
我想將STDOUT重定向到磁盤上的文件。重點是讓我的程序中的printf寫入文件而不是控制檯。fclose(stdout)vs close(STDOUT_FILENO) - C
我看到他們過去在網絡上的一些文章:
dup2(fileno(outputFile), STDOUT_FILENO);
或者:他們使用
close(STDOUT_FILENO);
dup(fileno(outputFile));
在每一個教學關閉()和它的實際工作。不過我很好奇,我試圖用FCLOSE(標準輸出)來代替,但有些錯誤發生了,當我試圖用printf:
fclose(STDOUT_FILENO);
dup(fileno(outputFile));
錯誤:
Bad file descriptor
我的問題是,爲什麼FCLOSE做()不工作但close()呢?
謝謝。
如果您只是想將stdout重定向到文件,請使用shell重定向。如果你想學習如何使用C重定向文件,你應該改寫這個問題。 –