/*
用ios類中的成員函式來進行io格式的控制總需要寫一條單獨的語句,而不能直接嵌入到io語句中,顯得很不方便,因此c++又提供了一種用操作符來控制io的格式。操作符分為帶參和不帶參兩種,帶參的定義在標頭檔案iomanip中,不帶參的定義在標頭檔案iostream中
首先看一下定義在標頭檔案iostream中的不帶參的流操作符
boolalpha 使用文字形式輸出bool型數值(即輸出true或false)
fixed 定點格式輸出,即以小數點的形式表示浮點數
scientific 用科學記數法表示浮點數
dec 採用十進位制,用於輸入和輸出
oct 採用八進位制,用於輸入和輸出
hex 採用十六進製制,用於輸入和輸出
internal 輸出格式為居中對齊
right 輸出格式為右對齊
left 輸出格式為左對齊
showpos 在正數前面加上+號
showpoint 顯示末尾的0
showbase 顯示進製,即在十六進製制數前新增0x,在八進位制數前新增0
uppercase 大寫顯示
unitbuf 每次執行輸出操作後均會清空緩衝區,如cout<
skipws 忽略輸入流中的空白字元,即當我們輸入的字元前面有空格時,儲存的時候會自動忽略
以上15個即是標準控制符,它們可以自動呼叫setf()函式並提供正確的引數,因此可以直接使用
noboolalpha
noshowpos
noshowpoint
noshowbase
nouppercase
nounitbuf
noskipws
指示標誌位ios::basefield、ios::adjustfield、ios::floatfield可以清除相應的8個標誌位,剩下的7個標誌位除了可以通過unsetf()清除,還可以通過以上7個命令清除相應標誌位
ws 跳過輸入的空格符,用於輸入
endl 輸出乙個換行符並重新整理輸出流,用於輸出
ends 輸出乙個空字元null,通常用來結束乙個字串,用於輸出
flush 重新整理輸出流,用於輸出
注:null和'\0'的區別:'\0'和null的值都是0,但'\0'指的是空字串,用於判斷字串結束;而null指的是空指標,用於判斷指標指向的物件是否為空
接下來看一下定義在標頭檔案iomanip中的帶參的流操作符
setw(n) 同ios類中的成員函式width(),設定字段寬度,用於輸出
setfill(c) 同ios類中的成員函式fill(),設定填充字元為c(預設為空格,一次有效),用於輸出
setprecision(n) 同ios類中的成員函式precision(),用於輸出
setbase(n) 設定整數的基數為n(n可取0或10代表十進位制,8代表八進位制,16代表十六進製制,預設為0),用於輸入和輸出
setiosflags(fmtflag) 設定標誌位,多個用"|"隔開,用於輸入和輸出
resetiosflags(fmtflag) 清除指定標誌位,多個用"|"隔開,用於輸入和輸出
*/
#include usingnamespace
std;
intmain()
格式化輸出
a 浮點數 十六進製制數字和p 記數法 a 浮點數 十六進製制數字和p 記法 c 乙個字元 char c 乙個iso寬字元 d 有符號十進位制整數 int ld ld 長整型資料 long hd 輸出短整形。e 浮點數 e 記數法 e 浮點數 記數法 f 單精度浮點數 預設float 十進位制記數法...
格式化輸出
a 浮點數 十六進製制數字和p 記數法 a 浮點數 十六進製制數字和p 記法 c 乙個字元 char c 乙個iso寬字元 d 有符號十進位制整數 int ld ld 長整型資料 long hd 輸出短整形。e 浮點數 e 記數法 e 浮點數 記數法 f 單精度浮點數 預設float 十進位制記數法...
格式化輸出
簡單輸出 print 你好小明 print 你好小紅 print 你好小李 帶變數的輸出 更有靈活性,易於維護 name 小李 print name 加號拼接字串 pay 8 print 花費一共 pay 元 print裡用逗號列印多個變數 name 小明 score 90 print name,s...