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):
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:
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
- left
- Adjust output to the left (function
)
- right
- Adjust output to the right (function
)
- ios_base::flags
- Get/set format flags (public member function
)
- ios_base::setf
- Set specific format flags (public member function
)
- ios_base::unsetf
- Clear specific format flags (public member function
)