天天看點

fprintf()中的stderr解析

void main()
     
{    
    fprintf(stderr,"stderr!");
    fprintf(stdout,"stdout!");
    printf("printf!");
}      

編譯上面的  .c  檔案,執行結果:

stderr!

stdout!

printf!

如果将結果重定向至檔案

若将輸入重定向到一個temp.txt檔案中,運作:test>temp.txt 結果如下:

stderr!

temp.txt檔案内容為:

stdout!printf!

說明:

stdout -- 标準輸出裝置(printf("..")) 同 stdout。

stderr -- 标準錯誤輸出裝置 兩者預設向螢幕輸出。

但如果用轉向标準輸出到磁盤檔案,則可看出兩者差別。stdout輸出到磁盤檔案,stderr在螢幕。

strerr是作為程式運作過程中的錯誤顯示出來的,若想将它重寫向到某檔案中,需要運作如下指令:

test  2> temp.txt

這樣運作結果就為: