function
<ios> <iostream>

std::internal

ios_base& internal (ios_base& str);
Adjust field by inserting characters at an internal position
Sets the adjustfield format flag for the str stream to internal.

When adjustfield is set to internal, the output is padded to the field width (width) by inserting fill characters (fill) at a specified internal point, which for numerical values is between the sign and/or numerical base and the number magnitude. For non-numerical values it is equivalent to right.

The adjustfield format flag can take any of the following values (each with its own manipulator):

flag valueeffect when set
internalthe output is padded to the field width by inserting fill characters at a specified internal point.
leftthe output is padded to the field width appending fill characters at the end.
rightthe output is padded to the field width by inserting fill characters at the beginning.

For standard streams, the adjustfield flag is set to right on initialization.

Parameters

str
Stream object whose adjustfield format flag is affected.
Because this function is a manipulator, it is designed to be used alone with no arguments in conjunction with the insertion (<<) and extraction (>>) operations on streams (see example below).

Return Value

Argument str.

Example

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;
}


Output:
-   77
-77
   -77

Data races

Modifies str. Concurrent access to the same stream object may cause data races.

Exception safety

Basic guarantee: if an exception is thrown, str is in a valid state.

See also