C++ ios::Showbase() 函式



C++ 的std::ios::showbase()函式是一個流操縱器,它能夠在輸出整數值時顯示數值基數字首。啟用此函式後,它確保十六進位制數以 0x 為字首,八進位制數以 0 為字首,而十進位制數不受影響。

語法

以下是 std::ios::showbase() 函式的語法。

ios_base& showbase( std::ios_base& str );

引數

  • str − 它表示受格式標誌影響的流物件。

返回值

此函式返回引數 str。

異常

如果丟擲異常,str 處於有效狀態。

資料競爭

它修改 str。同時訪問同一個流物件可能會導致資料競爭。

示例

讓我們來看下面的例子,我們將使用帶十進位制的 showbase() 函式。

#include <iostream>
#include <iomanip>
int main()
{
    int x = 112;
    std::cout << "Decimal default : " << x << std::endl;
    std::cout << std::showbase;
    std::cout << "Decimal With showbase : " << x << std::endl;
    return 0;
}

輸出

上述程式碼的輸出如下:

Decimal default : 112
Decimal With showbase : 112

示例

考慮下面的例子,我們將使用帶十六進位制的 showbase() 函式。

#include <iostream>
#include <iomanip>
int main()
{
    int x = 234;
    std::cout << std::hex;
    std::cout << "Hexadecimal default : " << x << std::endl;
    std::cout << std::showbase;
    std::cout << "Hexadecimal With showbase : " << x << std::endl;
    return 0;
}

輸出

以下是上述程式碼的輸出:

Hexadecimal default : ea
Hexadecimal With showbase : 0xea

示例

在下面的例子中,我們將使用帶八進位制的 showbase() 函式。

#include <iostream>
#include <iomanip>
int main()
{
    int x = 1123;
    std::cout << std::oct;
    std::cout << "Octal default : " << x << std::endl;
    std::cout << std::showbase;
    std::cout << "Octal With showbase : " << x << std::endl;
    return 0;
}

輸出

如果我們執行上述程式碼,它將生成以下輸出:

Octal default : 2143
Octal With showbase : 02143
ios.htm
廣告