函式
<ios> <iostream>

std::internal

ios_base& internal (ios_base& str);
內部對齊,透過在內部位置插入字元進行欄位調整
str流的 adjustfield 格式標誌設定為 internal

adjustfield 設定為 internal 時,輸出會透過在指定內部位置插入填充字元 (fill) 來填充到欄位寬度 (width)。對於數值,此內部位置位於符號和/或數值基數與數值幅度之間。對於非數值,此設定等同於 right

adjustfield 格式標誌可以採用以下任意值(每個都有自己的運算子)

標誌值設定時的效果
internal輸出在指定內部點透過插入填充字元fill characters)來填充到欄位寬度
left輸出在結尾處附加填充字元fill characters)來填充到欄位寬度
right輸出在開頭插入填充字元fill characters)來填充到欄位寬度

對於標準流,adjustfield 標誌在初始化時設定為 right

引數

str
adjustfield 格式標誌影響的流物件。
因為此函式是一個操縱符,它被設計為在不帶引數的情況下,與流上的插入 (<<) 和提取 (>>) 操作結合使用(見下例)。

返回值

引數 str

示例

1
2
3
4
5
6
7
8
9
10
// modify adjustfield using manipulators
#include <iostream>     // std::cout, std::internal, std::left, std::right

int main () {
  int n = -77;
  std::cout.width(6); std::cout << std::internal << n << '\n';
  std::cout.width(6); std::cout << std::left << n << '\n';
  std::cout.width(6); std::cout << std::right << n << '\n';
  return 0;
}

輸出
-   77
-77
   -77


資料競爭

修改 str。對同一個流物件的併發訪問可能導致資料競爭。

異常安全

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

另見