C 的格式化輸出控制

2021-10-23 22:22:39 字數 2258 閱讀 2130

在我們使用c++的輸入輸出流時,往往採用的是預設的輸出格式,但有時候我們並不希望按這樣的方式輸出,需要按自己的要求控制輸出格式。下面的控制符或者格式標誌可以幫助我們按照相應的格式輸出。

(我從各處蒐集了相應的控制符和格式標誌)

表1 輸入輸出流的控制符(部分控制符需要iomanip標頭檔案)

控制符作 用

dec設定數值的基數為10

hex設定數值的基數為16

oct設定數值的基數為8

setfill(ch)

設定填充字元ch,ch可以是字元常量或字元變數

setprecision(n)

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

setw(n)

設定字段寬度為n位

setiosflags( ios::fixed)

設定浮點數以固定的小數字數顯示

setiosftags( ios::scientific)

設定浮點數以科學記數法(即指數形式)顯示

setiosflags( ios::left)

輸出資料左對齊

setiosflags( ios::right)

輸出資料右對齊

setiosflags( ios::skipws)

忽略前導的空格

setiosflags( ios::uppercase)

資料以十六進製制形式輸出時字母以大寫表示

setiosflags( ios::lowercase)

資料以十六進製制形式輸出時宇母以小寫表示

setiosflags(ios::showpos)

輸出正數時給出「+」號

表2 設定格式狀態的格式標誌

格式標誌

作用ios::left

輸出資料在本域寬範圍內向左對齊

ios::right

輸出資料在本域寬範圍內向右對齊

ios::internal

數值的符號位在域寬內左對齊,數值右對齊,中間由填充字元填充

ios::dec

設定整數的基數為10

ios::oct

設定整數的基數為8

ios::hex

設定整數的基數為16

ios::showbase

強制輸出整數的基數(八進位制數以0打頭,十六進製制數以0x打頭)

ios::showpoint

強制輸出浮點數的小點和尾數0

ios::uppercase

在以科學記數法格式e和以十六進製制輸出字母時以大寫表示

ios::showpos

對正數顯示「+」號

ios::scientific

浮點數以科學記數法格式輸出

ios::fixed

浮點數以定點格式(小數形式)輸出

ios::unitbuf

每次輸出之後重新整理所有的流

ios::stdio

每次輸出之後清除stdout, stderr

表3 設定輸出格式的流操作子(需要包含iomanip標頭檔案)

操作符含義

setfill(ch)

用ch填充空白字元

setprecision(n)

將浮點精度設定為n

setw(n)

按照n個字元來讀或者寫

setbase(b)

以b為進製基數輸出整數值

cout<<"dec:"

<< "|" << setw(38) << "store" << "|" << endl //設定輸出寬度和填充字元

<< "|" << setw(38) << setfill('*') << "*" << setfill(' ') << '|' << endl//設定輸出寬度和填充字元

<< "| xiaofang convenience store |" << endl

<< "|" << setw(38) << setfill('*') << "*" << setfill(' ') << '|' << endl;//設定輸出寬度和填充字元

C 格式化輸出,C 輸出格式控制

在輸出資料時,為簡便起見,往往不指定輸出的格式,由系統根據資料的型別採取預設的格式,但有時希望資料按指定的格式輸出,如要求以十六進製制或八進位制形式 輸出乙個 整數,對輸出的小數只保留兩位小數等。有兩種方法可以達到此目的。1 使用控制符的方法 2 使用流物件的有關成員函式。分別敘述如下。使用控制符的...

C 格式化輸出,C 輸出格式控制

在輸出資料時,為簡便起見,往往不指定輸出的格式,由系統根據資料的型別採取預設的格式,但有時希望資料按指定的格式輸出,如要求以十六進製制或八進位制形式輸出乙個 整數,對輸出的小數只保留兩位小數等。有兩種方法可以達到此目的。一種是我們已經介紹過的使用控制符的方法 詳情請檢視 c 輸入cout與輸出cin...

C 格式化輸出,C 輸出格式控制

在輸出資料時,為簡便起見,往往不指定輸出的格式,由系統根據資料的型別採取預設的格式,但有時希望資料按指定的格式輸出,如要求以十六進製制或八進位制形式輸出乙個 整數,對輸出的小數只保留兩位小數等。有兩種方法可以達到此目的。一種是我們已經介紹過的使用控制符的方法 詳情請檢視 c 輸入cout與輸出cin...