C 標準輸出流

2021-09-24 02:47:16 字數 1753 閱讀 8369

ostream類定義了3個輸出流物件,即cout、cerr、clog

cout流在記憶體中開闢了乙個緩衝區,用來存放流中的資料,當向cout流插入乙個endl時,不論緩衝區是否已滿,都立即輸出流中的所有資料,然後插入乙個換行符,並且重新整理流(清空緩衝區)

cerr流物件是標準錯誤流。作用是向標準錯誤裝置輸出有關出錯資訊。和cout的不同:cout可以被重定向輸出到磁碟檔案中,但是cerr流中的資訊只能在顯示器輸出。cerr流中的資訊是需要使用者指定的。

clog流物件也是標準錯誤流。作用也是在終端顯示器上顯示出錯資訊。他們之間有微小的區別:cerr是不經過緩衝區直接向顯示器上輸出有關資訊,而clog中的資訊存放在緩衝區中,等待緩衝區滿或者遇到endl的時候向顯示器輸出(用起來效果差不多)。

cout << "hello" << endl;

cerr << "is a error" << endl;

clog << "clog error" << endl;

有兩種方法:

注意首先需要:

#include
dec--設定數值的基數為10

hex--設定數值的基數為16

oct--設定數值的基數為8

setfill(c)--設定填充字元c,c可以是字元常量,也可以是字元變數

setprecision(n)--設定浮點數的精度為n位,一般以十進位製小數字輸出,n代表有效數字,在以fixed(固定小數字數)和scientific(指數)形式輸出時,n為小數字數

setw(n)--設定字段寬度為n位

setiosflags(ios:fixed)--設定浮點數為固定的小數字顯示

setiosflags(ios:scientific)--設定浮點數以指數形式顯示

setiosflags(ios:left)--設定陣列左對齊

setiosflags(ios:right)--設定資料右對齊

setiosflags(ios:skipws)--忽略前導空格

setiosflags(ios:uppercase)--資料以十六進製制輸出時字母大寫

setiosflags(ios:showpos)--輸出正數時加「+」

舉例:

#include #include using namespace std;

int main(int argc, char const *ar**)

; // 右對齊和左對齊只有在設定了寬度的時候才有用

for (int i = 0; i < 10; ++i)

return 0;

}

東西其實是一樣的,不過是使用函式的形式來使用:

precision(n)設定實數的精度為n位

width(n)設定字段寬度為n位

fill(c)設定填充字元c

setf()設定輸出格式狀態

unsetf()取消已經設定的輸出格式狀態

#include using namespace std;

int main(int argc, char const *ar**)

標準輸出流

put 無格式插入乙個位元組 write 無格式插入一位元組序列 flush 重新整理輸出流 seekp 移動輸出流指標 tellp 返回輸出流中指定位置的指標值 left 輸出資料在本域寬範圍內左對齊 right 輸出資料在本域寬範圍內右對齊 dec 設定整數的基數為10 oct 設定整數的基數為...

標準輸出流

標準輸出流是流向標準輸出裝置 顯示器 的資料。ostream類定義了三個輸出流物件 cout,cerr,clog。1 cout流物件 cout不是c 的關鍵字,是ostream流類的物件,在iostream中定義。用cout 輸出標準資料型別時,系統會根據型別呼叫與之匹配的運算子過載函式。cout流...

c 標準輸入 輸出流

標準輸出流是流向標準輸出裝置 顯示器 的資料,標準輸入流是從標準輸入裝置 鍵盤 流向程式的資料。在標頭檔案iostream.h中定義了cin cout cerr clog 4個流物件,cin是輸入流,cout cerr clog是輸出流。一 四個流物件 cin 標準輸入流,其標準輸入裝置是鍵盤。co...