std::ios_base::setf
來自 cppreference.com
fmtflags setf( fmtflags flags ); |
(1) | |
fmtflags setf( fmtflags flags, fmtflags mask ); |
(2) | |
將格式化標誌設定為指定設定。
1) 設定由 flags 標識的格式化標誌。實際上,執行的操作是 fl = fl | flags,其中
fl
定義內部格式化標誌的狀態。2) 清除 mask 下的格式化標誌,並將清除的標誌設定為 flags 指定的那些。實際上執行的操作是 fl = (fl & ~mask) | (flags & mask),其中
fl
定義內部格式化標誌的狀態。目錄 |
[編輯] 引數
flags, mask | - | 新的格式化設定。mask 定義哪些標誌可以被修改,flags 定義在那些將被修改的標誌中哪些應該被設定(其他的將被清除)。兩個引數都可以是格式化標誌常量的組合。 |
[編輯] 格式化標誌
常量 | 解釋 |
dec | 對整數 I/O 使用十進位制基數:參閱 std::dec |
oct | 對整數 I/O 使用八進位制基數:參閱 std::oct |
hex | 對整數 I/O 使用十六進位制基數:參閱 std::hex |
basefield | dec | oct | hex。對掩碼操作有用。 |
left | 左對齊(在右側新增填充字元):參閱 std::left |
right | 右對齊(在左側新增填充字元):參閱 std::right |
internal | 內部對齊(在內部指定點新增填充字元):參閱 std::internal |
adjustfield | left | right | internal。對掩碼操作有用。 |
scientific | 使用科學計數法生成浮點型別,如果與 fixed 組合則使用十六進位制計數法:參見 std::scientific |
fixed | 使用固定計數法生成浮點型別,如果與 scientific 組合則使用十六進位制計數法:參見 std::fixed |
floatfield | scientific | fixed。對掩碼操作有用。 |
boolalpha | 以字母數字格式插入和提取 bool 型別:參閱 std::boolalpha |
showbase | 為整數輸出生成指示數字基數的字尾,在貨幣 I/O 中要求貨幣指示符:參閱 std::showbase |
showpoint | 為浮點數輸出無條件生成小數點字元:參閱 std::showpoint |
showpos | 為非負數輸出生成 + 字元:參閱 std::showpos |
skipws | 在某些輸入操作前跳過前導空格:參閱 std::skipws |
unitbuf | 每次輸出操作後重新整理輸出:參閱 std::unitbuf |
uppercase | 在某些輸出操作中將某些小寫字母替換為其大寫等效項:參閱 std::uppercase |
[編輯] 返回值
呼叫函式前格式化標誌的值。
[編輯] 示例
執行此程式碼
#include <iomanip> #include <iostream> #include <numbers> int main() { const double PI = std::numbers::pi; const int WIDTH = 15; std::cout.setf(std::ios::right); // equivalent: cout << right; std::cout << std::setw(WIDTH / 2) << "radius" << std::setw(WIDTH) << "circumference" << '\n'; std::cout.setf(std::ios::fixed); // equivalent: cout << fixed; for (double radius = 1; radius <= 6; radius += 0.5) std::cout << std::setprecision(1) << std::setw(WIDTH / 2) << radius << std::setprecision(2) << std::setw(WIDTH) << (2 * PI * radius) << '\n'; }
輸出
radius circumference 1.0 6.28 1.5 9.42 2.0 12.57 2.5 15.71 3.0 18.85 3.5 21.99 4.0 25.13 4.5 28.27 5.0 31.42 5.5 34.56 6.0 37.70
[編輯] 參見
管理格式標誌 (公共成員函式) | |
清除特定格式標誌 (公共成員函式) |