public member function
<ios> <iostream>

std::ios_base::flags

get (1)
fmtflags flags() const;
set (2)
fmtflags flags (fmtflags fmtfl);
獲取/設定格式標誌
第一種形式(1)返回當前在流中選擇的格式標誌。
第二種形式(2)為流設定新的格式標誌,並返回其先前的值。

流的格式標誌會影響某些輸入函式對資料的解釋方式以及某些輸出函式如何寫入資料。有關此函式引數的可能值和返回值解釋,請參見 ios_base::fmtflags

此函式的第二種形式為流設定所有格式標誌的值,會覆蓋現有值,並清除未在引數中顯式設定的任何標誌。要訪問單個標誌,請參見成員 setfunsetf

引數

fmtfl
流將使用的格式標誌。
ios_base::fmtflags 是一個位掩碼型別

返回值

呼叫前的流中選定的格式標誌。
ios_base::fmtflags 是一個位掩碼型別

示例

1
2
3
4
5
6
7
8
9
// modify flags
#include <iostream>     // std::cout, std::ios

int main () {
  std::cout.flags ( std::ios::right | std::ios::hex | std::ios::showbase );
  std::cout.width (10);
  std::cout << 100 << '\n';
  return 0;
}

這個簡單的例子為 cout 設定了一些格式標誌,這些標誌會影響插入操作,透過以十六進位制(0x64)並以十個字元寬的欄位右對齊填充來列印值
      0x64


資料競爭

訪問(1)或修改(2)流物件。
併發訪問同一個流物件可能導致資料爭用。

異常安全

基本保證:如果丟擲異常,流處於有效狀態。

另見