首頁 > 後端開發 > C++ > 哪些 C 流操縱器是黏性的,為什麼「setw()」不是?

哪些 C 流操縱器是黏性的,為什麼「setw()」不是?

Linda Hamilton
發布: 2024-12-13 04:37:09
原創
1019 人瀏覽過

Which C   Stream Manipulators are Sticky, and Why Isn't `setw()`?

C 中的黏性操縱器

在 C 程式設計中,操縱器用於修改流的輸出格式。某些操縱器以“粘性”方式運行,這意味著它們的效果持續到明確更改為止。

為什麼 setw() 不黏性?

std::setw( )是非黏性操縱器的範例。這意味著它只影響下一次插入操作。使用 setw() 後,寬度設定將重設為其預設值。

是否有其他操縱器黏性?

除 setw() 之外的所有操縱器都是黏性的。這包括:

  • setiosflags
  • resetiosflags
  • setbase
  • setfill
  • precision
  • setiosflags
  • resetiosflags
  • setbase
  • setfil l
  • set precision
  • [no]boolalpha
  • [no]showbase
  • [no]showpoint
  • [無]showpos
  • [無]skipws
  • [無]unitbuf
  • [無]大寫
  • dec/十六進位/八進位
  • 固定/科學
  • 內部/左/右
  • ws/ endl/結束/齊平

之間的差異std::ios_base::width() 和std::setw()

std:: setw() 傳回一個表示寬度值的物件。此物件可用於設定插入流中的下一個項目的寬度。

std::ios_base::width() 直接設定流的寬度。任何後續插入流的操作都將使用新寬度進行格式化。

線上參考

不幸的是,沒有明確的文件明確說明操縱器的黏性行為。但是,可以從 C 標準庫文件推斷出該行為。

粘性操縱器示例

以下代碼演示了操縱器:

結論

黏性操縱器是C 中一個有用的功能,可以幫助控制輸出的格式。然而,重要的是要注意他們的行為,以避免意外結果。

以上是哪些 C 流操縱器是黏性的,為什麼「setw()」不是?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板