C++ ios Library - Function Internal


It is used to 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.


Following is the declaration for std::internal function.

ios_base& internal (ios_base& str);


str − Stream object whose format flag is affected.

Return Value

It returns Argument str.


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

Data races

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


In below example explains about std::internal function.

#include <iostream>     

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;

Let us compile and run the above program, this will produce the following result −

-   77