C 標準錯誤流Cerr

2021-09-17 02:59:49 字數 493 閱讀 3077

區別

cout經過緩衝後輸出,預設情況下是顯示器。這是乙個被緩衝的輸出,是標準輸出;它在記憶體中對應開闢了乙個緩衝區,用來存放流中的資料,當向cout流插入乙個endl,不論緩衝區是否漫了,都立即輸出流中所有資料,然後插入乙個換行符. 可以被輸出到檔案,即可以重定向輸出。

cerr不經過緩衝而直接輸出,一般用於迅速輸出出錯資訊,是標準錯誤,預設情況下被關聯到標準輸出流,但它不被緩衝,也就說錯誤訊息可以直接傳送到顯示器,而無需等到緩衝區或者新的換行符時,才被顯示。

clog流也是標準錯誤流,作用和cerr一樣,區別在於cerr不經過緩衝區,直接向顯示器輸出資訊,而clog中的資訊存放在緩衝區,緩衝區滿或者遇到endl時才輸出.

緩衝區的目的,就是減少刷屏的次數——比如,你的程式輸出聖經中的一篇文章。不帶緩衝的話,就會每寫乙個字母,就輸出乙個字母,然後刷屏。有了緩衝,你將看到若干句子「同時」就出現在了螢幕上(由記憶體翻新到視訊記憶體,然後重新整理螢幕)。

標準流和錯誤處理

當乙個程式被執行的時候,c 語言自動為其開啟 3 個面向終端的檔案流 我們將它們稱為標準流。c 語言分別為三個標準流提供了對應的檔案指標 include include int main fclose fp return 0 每乙個流物件都有兩個指示器 檔案檢測函式 錯誤指示器 ferror。inc...

標準流和錯誤處理

執行結果 標準輸出 開啟檔案失敗!請按任意鍵繼續.重定向 這裡給大家補充乙個課外知識點,由於標準輸出和標準錯誤輸出通帝都是直接列印到辱幕上,為了區分它們,我們可以使用linux shel1的重定向功能 上述程式結果 錯誤處理 錯誤指示器 ferror。test2.c include include ...

c 中輸出流cout和cerr及clog的區別

本人菜雞乙個,初識c 從深鑑科技給的main.cc檔案中開始學習c 不懂輸出流控制,在網上查了資料後整理的 c語言標準輸出就printf乙個,但是c 意思就是c的加強版唄,當然輸出自然可以多一點,有cout cerr clog,區別就在於三個都能做輸出,但是cout需要經過緩衝區輸出,可以重定向,而...