【C++語法】輸出的設置 iomanip 與 std::ios 中的流操縱符

文章目錄

  • 【C++語法】輸出的設置 iomanipstd::ios 中的流操縱符
    • 1. iomanip 中的流操縱方法
      • 1.1 位寬操作類
        • 1.1.1 std::setw(x)
        • 1.1.2 std::setfill(c)
        • 1.1.3 std::left
        • 1.1.4 std::right
        • 1.1.5 std::internal
      • 1.2 小數操作類
        • 1.2.1 std::fixed
        • 1.2.2 std::setprecision(x)
        • 1.2.3 std::scientific
        • 1.2.4 std::showpoint
        • 1.2.5 std::noshowpoint
      • 1.3 整數操作類
        • 1.3.1 std::hex
        • 1.3.2 std::dec
        • 1.3.3 std::oct
        • 1.3.4 std::showbase
        • 1.3.5 std::noshowbase
      • 1.4 布爾值操作類
        • 1.4.1 std::boolalpha
        • 1.4.2 std::noboolalpha
      • 1.5 其他操作類
        • 1.5.1 std::uppercase
        • 1.5.2 std::nouppercase
        • 1.5.3 std::showpos
        • 1.5.4 std::noshowpos
    • 2. std::ios 中的流操縱方法
      • 2.1 格式設置函數
        • 2.1.1 std::resetiosflags(f)
        • 2.1.2 std::setiosflags(f)
      • 2.2 std::ios 的流操縱符

【C++語法】輸出的設置 iomanipstd::ios 中的流操縱符

iomanip 是 C++ 標準庫中用于格式化輸出的頭文件,提供了多種流操縱符(Manipulators),用于控制輸出的對齊、寬度、精度、填充字符等。同時,這里面還會有 std::ios 中的流操縱符。還有這篇文章將會詳細的講解,希望能夠幫上你

1. iomanip 中的流操縱方法

這些是 std 相關的標志位控制函數,可以直接用于 << 像輸出字符串一樣輸出調整格式,但是只會對這一條語句中的內容生效

1.1 位寬操作類

1.1.1 std::setw(x)

std::setw(x) 可以為下一個輸出內容設置位寬為 xxx,也就是占用占用 xxx 個字符位,空缺的用某種字符補位。占位符默認為空格,且向右對齊

1.1.2 std::setfill?

std::setfill(c)std::setw(n) 配合,可以設置占位符為 cccccc字符,不是字符串

1.1.3 std::left

std::leftstd::setw(n) 配合,可以設置輸出內容為左對齊方式

1.1.4 std::right

std::rightstd::setw(n) 配合,可以設置輸出內容為右對齊方式(默認)

1.1.5 std::internal

std::internalstd::setw(n) 配合,表示設置數字為符號左對齊,數字右對齊的方式

1.2 小數操作類

1.2.1 std::fixed

std::fixed 用于固定輸出的小數位數,例如 std::cout << std::fixed << 3.14000 輸出 3.14000 而不是 3.14

1.2.2 std::setprecision(x)

std::setprecision(x) 表示設置浮點數保留小數點后 xxx 位,通常與 std::fixed 配合

為什么不能單獨用 std::setprecision(x)
單獨用是語法正確的,但是,在小學數學老師講四舍五入時講到過一個誤區,4.9994.9994.999 四舍五入保留一位小數應該等于 5.05.05.0 而不是 555。加上 std::fixed 防止去掉小數部分末尾的 000

1.2.3 std::scientific

std::scientific 用于將浮點數以科學計數法形式輸出,e 默認小寫,想要調成大寫 E 可以使用 std::uppercase,默認 std::nouppercase

1.2.4 std::showpoint

std::showpoint 用于強制讓所有的數字加上小數點,例如 1 輸出為 1.2.72 輸出 2.72

1.2.5 std::noshowpoint

std::noshowpoint 用于讓所有的數字不強制性地加上小數點,例如 3 輸出 3(默認)

1.3 整數操作類

1.3.1 std::hex

std::hex 設置整數以十六進制輸出,a ~ f 默認小寫,想要切換大寫使用 std::uppercase,默認 std::nouppercase

1.3.2 std::dec

std::dec 設置整數以十進制輸出(默認)

1.3.3 std::oct

std::oct 設置整數以八進制輸出

1.3.4 std::showbase

std::showbase 設置顯示進制前綴,例如十六進制數前面加上 0x(或 0X),八進制數前面加上一個 0

1.3.5 std::noshowbase

std::noshowbase 設置不顯示進制的前綴(默認)

1.4 布爾值操作類

布爾值是什么?
布爾值(Boolean Value),表示一種條件是否成立,111true 表示成立,000false 表示不成立,只有兩個值。這個東西會在下一章的條件語句中提到

1.4.1 std::boolalpha

std::boolalpha 設置布爾值輸出 truefalse

1.4.2 std::noboolalpha

std::noboolalpha 設置布爾值輸出 10(默認)

1.5 其他操作類

1.5.1 std::uppercase

std::uppercase 設置十六進制字符 A ~ F 大寫,設置科學計數法 E 大寫

1.5.2 std::nouppercase

std::nouppercase 設置十六進制字符 a ~ f 小寫,設置科學計數法 e 小寫

1.5.3 std::showpos

std::showpos 使正數顯示出 +

1.5.4 std::noshowpos

std::noshowpos 使正數不顯示出 +

2. std::ios 中的流操縱方法

這些事 std::ios(或 std::ios_base)相關的流操縱符,使用另外的函數設置格式,可以讓多行的 std::cout 使用同一個格式標志,還可以重置、疊加,它們的頭文件也是 iomanip

2.1 格式設置函數

2.1.1 std::resetiosflags(f)

將之前的所有格式標志去除,并添加一個 std::ios 流操縱符 f,也就是格式重定義

2.1.2 std::setiosflags(f)

再之前的基礎上疊加一個 std::ios 流操縱符 f,也就是格式疊加

2.2 std::ios 的流操縱符

iomanip 流操縱符一樣,例如 std::fixedstd::hex,但是,在 std::ios 中,會寫成 std::ios::fixedstd::ios::hex 等,在 std 后面加一個 ios

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/92850.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/92850.shtml
英文地址,請注明出處:http://en.pswp.cn/web/92850.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

go語言學習筆記-Map

map 是一種無序的基于 key-value 的數據結構&#xff0c;Go 語言中的 map 是引用類型&#xff0c;必須初始化 才能使用。 Go 語言中 map 的定義語法如下map[KeyType]ValueType常見兩種創建方法1 使用map初始化var scoreMap make(map[string]int, 8) scoreMap["陳翔"…

芯片安全標準驅動庫,筑牢芯片功能安全基石

隨著整車控制器功能日益復雜&#xff0c;為滿足越發嚴格的功能安全認證要求&#xff0c;項目開發人員需要采取相應的安全措施對系統中電子元器件的單點故障&#xff08;Singel Point Fault&#xff09;和潛在故障&#xff08;Latent Fault&#xff09;進行檢測和管理&#xff0…

rn相關ScrollView

一&#xff1a;ScrollView的style和contentContainerStyle二&#xff1a;flex:1,和flexGrow:1用處內容將縱向空間占滿

Spark Core 3.3.2 略講~

?博客主頁&#xff1a; https://blog.csdn.net/m0_63815035?typeblog &#x1f497;《博客內容》&#xff1a;大數據、Java、測試開發、Python、Android、Go、Node、Android前端小程序等相關領域知識 &#x1f4e2;博客專欄&#xff1a; https://blog.csdn.net/m0_63815035/…

智能家居Agent:物聯網設備的統一控制與管理

智能家居Agent&#xff1a;物聯網設備的統一控制與管理 &#x1f31f; Hello&#xff0c;我是摘星&#xff01; &#x1f308; 在彩虹般絢爛的技術棧中&#xff0c;我是那個永不停歇的色彩收集者。 &#x1f98b; 每一個優化都是我培育的花朵&#xff0c;每一個特性都是我放飛的…

漢高攜手SAP推出AI驅動的退換貨與爭議管理解決方案

2025年8月12日&#xff0c;SAP宣布與全球知名的膠黏劑、密封劑及消費品制造商漢高&#xff08;Henkel AG & Co. KGaA&#xff09;聯合開發了一套基于SAP AI Services的定制化解決方案&#xff0c;用于優化退換貨及爭議管理流程。該方案旨在通過人工智能自動化索賠相關文件的…

[SC]SystemC中的SC_FORK和SC_JOIN用法詳細介紹

SystemC中的SC_FORK和SC_JOIN用法詳細介紹 摘要:SystemC是一個開源的C++庫(由Accellera和IEEE標準化,IEEE 1666-2011),用于系統級建模、硬件描述和仿真。它擴展了C++以支持硬件概念,如模塊(sc_module)、端口(sc_port)、信號(sc_signal)和進程(SC_METHOD、S…

工作流調度(草稿)

串行回復當我加上第三條分支&#xff0c;此時的輸出就很混亂了&#xff0c;按理來說最后輸出的第二波輸出反而先結束了&#xff0c;調用LLM結果的第一波輸出最后才輸出&#xff0c;這是為什么&#xff1f;當我把LLM節點改為一個不耗時的節點的時候&#xff1a;初步猜測&#xf…

AI不再停留在概念階段,而是在各行業核心業務場景產生實際價值。隨著大模型、邊緣計算等技術的突破,AI應用將向實時化、自主化、普惠化方向深度演進。

一、金融領域&#xff1a;智能風控與欺詐檢測案例&#xff1a;某銀行使用AI實時攔截信用卡欺詐交易&#xff0c;每年減少損失$2400萬python# 使用XGBoost構建欺詐檢測模型&#xff08;Python&#xff09; import pandas as pd from xgboost import XGBClassifier from sklearn.…

GStreamer中解復用器(Demuxer)

在 GStreamer 中,解復用器(Demuxer) 用于分離容器格式(如 MP4、MKV、AVI 等)中的 視頻、音頻、字幕等流。不同的容器格式需要不同的 Demuxer 元素。 一、常見的 GStreamer Demuxer 元素 1. MP4 / QuickTime 格式 qtdemux 用于解析 MP4(.mp4)、MOV(.mov) 等基于 Quic…

MySQL 存儲過程終止執行的方法

在 MySQL 存儲過程&#xff08;PROCEDURE&#xff09;開發中&#xff0c;我們常常遇到這樣的需求&#xff1a; 在執行過程中&#xff0c;如果某些條件不滿足&#xff0c;就要立即終止剩余邏輯&#xff0c;避免無效或錯誤的操作。不同于 Java、Python 等編程語言直接 return 退出…

鯤鵬arm服務器安裝neo4j社區版,實現圖書庫自然語言檢索基礎

我在dify實施中&#xff0c;發現采用自然語言進行數據庫檢索效果還不錯&#xff0c;我就想起來了圖數據庫的自然語言檢索&#xff0c;以前圖書庫的算法我不熟悉&#xff0c;這次打算采用這種方式完成。我才用但是鯤鵬920&#xff0c;泰山服務器&#xff0c;2280主機&#xff0c…

小八的學習日記 -- 為什么kafka吞吐量大

1. 「順序讀寫」—— 像開高速公路一樣爽&#xff01;????傳統硬盤的痛點&#xff1a;?? 普通硬盤&#xff08;HDD&#xff09;像在熱鬧的菜市場找東西&#xff0c;磁頭要來回移動&#xff08;尋道&#xff09;&#xff0c;隨機讀寫特別慢。??Kafka 的妙招&#xff1a;…

5G NTN 衛星測試產品

5G NTN 衛星測試產品非地面網絡測試解決方案衛星射頻節點測試測量相控陣天線應對衛星基礎設施測試挑戰適用于 5G NTN 衛星測試的高性能解決方案衛星基礎設施測試解決方案的優勢5G NTN 衛星測試產品FSW 信號與頻譜分析儀R&SSMW200A 矢量信號發生器非地面網絡測試解決方案 透…

Redis 內存大頁(Transparent Huge Pages, THP)與寫時復制(COW)性能全解:原理、源碼、調優與架構進階

Redis 內存大頁&#xff08;Transparent Huge Pages, THP&#xff09;與寫時復制&#xff08;COW&#xff09;性能全解&#xff1a;原理、源碼、調優與架構進階 Redis 性能瓶頸常見于持久化時 fork 操作的延遲&#xff0c;但系統級“內存大頁”&#xff08;THP&#xff09;配置…

爬蟲與數據分析入門:從中國大學排名爬取到數據可視化全流程

在數據驅動的時代&#xff0c;掌握爬蟲技術獲取數據、運用數據分析工具處理數據并通過可視化呈現結果&#xff0c;已成為一項重要技能。本文以 “中國大學排名爬取與分析” 為例&#xff0c;帶你走進爬蟲與數據分析的世界&#xff0c;了解相關基礎知識與實操流程。 一、爬蟲基…

劇本殺小程序系統開發:推動行業數字化轉型新動力

近年來&#xff0c;劇本殺行業呈現出爆發式增長的態勢&#xff0c;線下劇本殺店鋪如雨后春筍般涌現&#xff0c;成為年輕人休閑娛樂的熱門選擇。然而&#xff0c;隨著行業的快速發展&#xff0c;也暴露出一些問題&#xff0c;如場地限制、人員組織困難、劇本更新緩慢等。這些問…

多重時間聚合算法(MAPA)改進需求預測模型

這篇文章Improving your forecasts using multiple temporal aggregation介紹了“多重聚合預測算法”&#xff08;MAPA&#xff09;。它指出傳統預測常依賴單一數據頻率&#xff0c;但MAPA通過將數據聚合到不同時間粒度&#xff08;如日、周、月、年&#xff09;并分別建模&…

【測試】BDD與TDD在軟件測試中的對比?

文章目錄BDD與TDD在軟件測試中的對比與應用引言一、TDD詳解&#xff1a;測試驅動開發二、BDD詳解&#xff1a;行為驅動開發三、BDD與TDD的對比四、實際項目應用舉例結論BDD與TDD在軟件測試中的對比與應用 在軟件開發領域&#xff0c;測試是確保產品質量的核心環節。作為高級Ja…

SVM實戰:從線性可分到高維映射再到實戰演練

在支持向量機的分類模型中&#xff0c;我們會遇到兩大類模型&#xff0c;一類是線性可分的模型&#xff0c;還有一類是非線性可分的。非線性可分模型是基于線性可分的基礎上來處理的。支持向量機比較適合小樣本的訓練。線性可分如下圖所示&#xff0c;有紫色和黑色兩類&#xf…