C++ ios::Showpos() Function



The C++ std::ios::showpos() function is a manipulator that forces the output stream to display a plus sign (+) before positive numbers. It is used to improve the readability of numerical outputs, especially when differentiating positive values form negative ones.

For example, std::cout << std::showpos << 112; then the output will be +112.

Syntax

Following is the syntax for std::ios::showpos() function.

ios_base& showpos (ios_base& str);

Parameters

  • str − It indicates the stream object whose format flag is affected.

Return Value

This function returns the Argument str.

Exceptions

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.

Example

In the following example, we are going to consider the basic usage of the showpos() function.

#include <iostream>
int main()
{
    int x = 121;
    std::cout << std::showpos;
    std::cout << "Result :  " << x << std::endl;
    return 0;
}

Output

Output of the above code is as follows −

Result :  +121

Example

Consider the following example, where we are going to use the showpos() function with the negative and positive numbers.

#include <iostream>
int main()
{
    int x = 11;
    int y = -11;
    std::cout << std::showpos;
    std::cout << "Result : " << x << std::endl;
    std::cout << "Result : " << y << std::endl;
    return 0;
}

Output

Following is the output of the above code −

Result : +11
Result : -11

Example

In the following example, we are going to use the showpos() function with floating points.

#include <iostream>
int main()
{
    double x = 11.23;
    std::cout << std::showpos;
    std::cout << "Result : " << x << std::endl;
    return 0;
}

Output

If we run the above code it will generate the following output −

Result : +11.23
ios.htm
Advertisements