std::ios_base
來自 cppreference.com
| 定義於標頭檔案 <ios> |
||
| class ios_base; |
||
ios_base 類是一個多用途類,作為所有 I/O 流類的基類。它維護幾種型別的資料:
1) 狀態資訊:流狀態標誌。
2) 控制資訊:控制輸入和輸出序列格式以及內嵌區域設定的標誌。
3) 私有儲存:索引可擴充套件資料結構,允許 long 和 void* 成員,可以實現為兩個任意長度陣列、一個兩元素結構體陣列或另一個容器。
典型的實現包含與 fmtflags、iostate、openmode 和 seekdir 的所有值相對應的成員常量(如下所示),維護當前精度、寬度和格式標誌、異常掩碼、緩衝區錯誤狀態、儲存回撥的可調整大小容器、當前內嵌區域設定、私有儲存以及用於 xalloc() 的靜態整數變數。
目錄 |
[編輯] 成員函式
| 構造物件 (protected member function) | |
| [virtual] |
析構物件 (virtual public member function) |
| 賦值給流 (public member function) | |
格式化 | |
| 管理格式標誌 (public member function) | |
| 設定特定格式標誌 (public member function) | |
| 清除特定格式標誌 (public member function) | |
| 管理浮點運算的十進位制精度 (public member function) | |
| 管理欄位寬度 (public member function) | |
區域設定 | |
| 設定區域設定 (public member function) | |
| 返回當前區域設定 (public member function) | |
內部可擴充套件陣列 | |
| [靜態] |
返回一個程式範圍內的唯一整數,可安全用作 pword() 和 iword() 的索引 (public static member function) |
| 如有必要,調整私有儲存的大小,並訪問給定索引處的 long 元素 (public member function) | |
| 如有必要,調整私有儲存的大小,並訪問給定索引處的 void* 元素 (public member function) | |
雜項 | |
| 註冊事件回撥函式 (public member function) | |
| [靜態] |
設定 C++ 和 C I/O 庫是否可互操作 (public static member function) |
成員類 | |
| 流異常 (public member class) | |
| 初始化標準流物件 (public member class) | |
成員型別和常量 | |||||||||||||||||||||||||||||||||||||||
| 型別 | 解釋 | ||||||||||||||||||||||||||||||||||||||
| 流開啟模式型別 還定義了以下常量
(typedef) | |||||||||||||||||||||||||||||||||||||||
| 格式化標誌型別 還定義了以下常量
(typedef) | |||||||||||||||||||||||||||||||||||||||
| 流狀態型別 還定義了以下常量
(typedef) | |||||||||||||||||||||||||||||||||||||||
| 定位方向型別 還定義了以下常量
(typedef) | |||||||||||||||||||||||||||||||||||||||
| 指定事件型別 (enum) | |||||||||||||||||||||||||||||||||||||||
| 回撥函式型別 (typedef) | |||||||||||||||||||||||||||||||||||||||
|
(C++17 前) | ||||||||||||||
[編輯] 缺陷報告
下列更改行為的缺陷報告追溯地應用於以前出版的 C++ 標準。
| 缺陷報告 | 應用於 | 釋出時的行為 | 正確的行為 |
|---|---|---|---|
| LWG 1357 (N3110) |
C++98 | std::ios_base 為型別 openmode、fmtflags 和iostate 定義了 operator~、operator&和 operator|,違反了 BitmaskType 的要求[1] |
移除了這些定義 |
- ↑ 一個 BitmaskType 需要自身支援位操作。位操作支援不應由外部提供。
[編輯] 參閱
| 管理任意流緩衝區 (類模板) |