C++ ios::Boolalpha() Function



The C++ std::ios::boolalpha function is used to control the formatting of the boolean output in streams. When this function is invoked, boolean values are displayed as textual true or false instead of default 1 or 0. It is triggered by using the std::boolalpha manipulator and disabled with std::noboolalpha.

This function improves the readability of boolean output in logs and user interfaces.

Syntax

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

ios_base& boolalpha (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 boolalpha() function.

#include <iostream>
int main()
{
    bool x = true;
    std::cout << "Without boolalpha: " << x << std::endl;
    std::cout << std::boolalpha;
    std::cout << "With boolalpha: " << x << std::endl;
    return 0;
}

Output

Output of the above code is as follows −

Without boolalpha: 1
With boolalpha: true

Example

Consider the following example, where we are going to use the boolalpha with std::cin to read a boolean value from the user.

#include <iostream>
int main()
{
    bool x;
    std::cout << "Enter true or false : ";
    std::cin >> std::boolalpha >> x;
    std::cout << "Entered Input : " << x << std::endl;
    return 0;
}

Output

Following is the output of the above code −

Enter true or false : true
Entered Input : 1

Example

Let's look at the following example, where we are going to determine if a given number is even or odd.

#include <iostream>
int main()
{
    bool x = false;
    int a = 1;
    if (a % 2 == 0) {
        x = true;
    }
    std::cout << std::boolalpha;
    std::cout << "Is the given number even? " << x << std::endl;
    return 0;
}

Output

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

Is the given number even? false
ios.htm