追加在嘗試打開追加模式這樣一個文件到標準輸出:如何打開一個文件到標準輸出和C
int f2;
f2 = open(STDOUT_FILENO,O_APPEND|O_CREAT);
但是這個代碼不工作(F2 == - 1開盤後)。問題是什麼?有沒有另一種方法來做到這一點?
追加在嘗試打開追加模式這樣一個文件到標準輸出:如何打開一個文件到標準輸出和C
int f2;
f2 = open(STDOUT_FILENO,O_APPEND|O_CREAT);
但是這個代碼不工作(F2 == - 1開盤後)。問題是什麼?有沒有另一種方法來做到這一點?
代碼 中存在語法錯誤,首先必須定義文件指針。然後定義讀或寫選項 例如 FILE * in_file = fopen(「name_of_file」,「r」); //只讀 FILE * out_file = fopen(「name_of_file」,「w」); //只寫
這是關於OS提供的系統調用'open',而不是'fdion'提供的'stdio.h'。你根本沒有解決這個問題。 – ShadowRanger
由於stdout
已經打開您想要的標誌,您不需要(也不應該)嘗試實際打開它。只是use dup
如果你需要爲標準輸出重複描述:
#include <unistd.h>
int f2 = dup(STDOUT_FILENO);
注:兩個手柄共享文件指針,所以你不能獨立lseek
他們。幸運的是,由於這是stdout
我們在談論,「尋求」無論如何都是毫無意義的概念。
謝謝!這對我來說很有意義。 – user2030942
你爲什麼試圖以這種方式打開標準輸出? – Peter