📜  C++中的std :: setbase,std :: setw,std :: setfill(1)

📅  最后修改于: 2023-12-03 15:14:03.068000             🧑  作者: Mango

C++中的 std::setbase,std::setw,std::setfill

在C++中,我们有三个用于格式化输出的函数——std::setbase,std::setw,std::setfill。这些函数可以用于指定输出的进制,字段宽度和填充字符。

std::setbase

std::setbase用于指定输出的进制。常见的进制有十进制、十六进制和八进制。默认情况下,C++使用十进制输出。

用法如下:

cout << std::setbase(进制) << 数值;

其中,进制可以是std::hex(十六进制)、std::oct(八进制)或std::dec(十进制)。

示例代码:

#include <iostream>
#include <iomanip>

using namespace std;

int main() {
    int x = 123;
    cout << std::dec << x << endl; // 十进制
    cout << std::hex << x << endl; // 十六进制
    cout << std::oct << x << endl; // 八进制

    return 0;
}

输出:

123
7b
173
std::setw

std::setw用于指定输出的字段宽度。默认情况下,输出宽度是不确定的。

用法如下:

cout << std::setw(宽度) << 内容;

示例代码:

#include <iostream>
#include <iomanip>

using namespace std;

int main() {
    int x = 123;
    cout << std::setw(10) << x << endl; // 宽度为10

    return 0;
}

输出:

       123
std::setfill

std::setfill用于指定输出的填充字符。默认情况下,输出的填充字符是空格。

用法如下:

cout << std::setfill(填充字符) << std::setw(宽度) << 内容;

示例代码:

#include <iostream>
#include <iomanip>

using namespace std;

int main() {
    int x = 123;
    cout << std::setfill('0') << std::setw(10) << x << endl; // 宽度为10,填充字符为0

    return 0;
}

输出:

0000000123

以上就是std::setbase,std::setw和std::setfill的用法介绍。它们可以帮助我们更好地控制输出格式,让输出更加美观和易读。