函式
<iomanip>

std::setbase

/*unspecified*/ setbase (int base);
設定基數字段標誌
basefield 設定為其可能值之一: dechexoct,具體取決於引數 base

就好像在流上呼叫了 setf(which,ios_base::basefield) 一樣,其中 which
  • base10 時,為 dec
  • base16 時,為 hex
  • base8 時,為 oct
  • base 為其他任何值時,為零。

它可以插入/提取到輸入流輸出流中。

此操縱符在標頭檔案 <iomanip> 中宣告。

引數

base
要使用的數字進位制
base 引數與插入...相同
8oct
10dec
16hex
任何其他resetiosflags(ios_base::basefield)

返回值

未指定。此函式只應作為流操縱符使用(見示例)。

示例

1
2
3
4
5
6
7
8
9
// setbase example
#include <iostream>     // std::cout, std::endl
#include <iomanip>      // std::setbase

int main () {
  std::cout << std::setbase(16);
  std::cout << 110 << std::endl;
  return 0;
}

此程式碼使用 setbase 操縱器將十六進位制設定為 basefield 選擇性標誌。

輸出
6e


資料競爭

它被插入/提取到的流物件會被修改。
對同一流物件的併發訪問可能會引發資料競爭。

異常安全

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

另見