日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

使用 cout 输出数据之控制输出格式(一)

發布時間:2025/3/19 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用 cout 输出数据之控制输出格式(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

cout調用格式化成員函數

ios_base類提供了一組設置格式化狀態標志的成員函數, 包括 setf() 、unset f() 和flags() .格式化狀態標志通過一個二進制位設置,如果設置了某個狀態標志,則對應位為1;否則為0.ios_base類中用于設置輸出格式的狀態標志。(不是函數),如表所示

介紹幾個常用的函數:
(1) setf()
用于設置狀態標識,把指定位的狀態標識為1.

格式一功能:用flag設置流格式, 保留流中原有格式, 相當于在原有流狀態標志的基礎上添加flag標志。例如:(重要

cout.setf(ios::fixed);//設置定點小數

ios是ios_base的派生類,也可以用ios_base代替ios;

格式二功能:用flag和mask共同設置流格式, 清除mask狀態標志位中不屬于flag的標志、例如:

cout.setf(ios::dec,ios::basefiled);//設置整數的進制數為八進制。

(第二個參數不可以省略、因為如果省略了第二個參數,設置形式同格式一,意思是愛五整數的八進制狀態標志位為1,同時保留原有的十進制狀態標志。此時,相當于即設置了八進制格式、又設置了十進制格式。這樣,設置的八進制格式將不起作用。)

另外.setf 函數一次可以設置多個狀態, 用位“或”(“|”) 運算符連接要設置的各個社態標志。例如:

cout.setf(ios::uppercase|ios::scientifific);//以科學計數法輸出浮點數,字母E大寫

(2)width()
輸出域寬是指數據輸出時所占的字節數, 即占多少列。用width() 函數設置輸出域寬。

格式二設置域寬為n,返回設置前的域寬,設置的域寬==僅對其后的第一個輸出有效,輸出數據后域寬重新設置為0。==例如:

cout.width(5);//設置下一個數據輸出是域寬為5.

(3)precision()

設置輸出精度為n位,返回設置前的精度,設置的精度始終有效,直到重新設置精度為止。
精度值n的最小值為1,如果n等于0,其行為未定義, 不同的編譯器處理結果不同。例如, vs 2013按默認精度顯示, 而Code::Blocks按科學計數法形式只輸出一個有效數位.
在默認格式下,==參數n是指有效數位的個數。==例如:

float pi=3.1415; cout.precision(3); cout<<pi; //輸出 3.14;

若使用 setf(ios::fixed);結合,則輸出的是小數位數。

float pi=3.1415; cout.setf(fixed); cout.precision(3); cout<<pi; //輸出 3.145;

(4)fill()
當輸出數據的位數小于域寬時需要用字符來填充,使之滿足輸出域寬的要求,默認填空符是空格。

int a=2; cout.width(5); cout.set(ios::left); cout.fill('*'); cout<<a; //輸出 2****;

總結

以上是生活随笔為你收集整理的使用 cout 输出数据之控制输出格式(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。