对齐它们旁边的十六进制数字

时间:2017-06-04 12:13:52

标签: c++ hex

我需要一些脚本的帮助。我有十六进制数字,我需要在它们旁边对齐,但我不知道如何在c ++中以一种很好的方式解决这个问题。

例如我有这个数组:

int test[3]={0x12,0x13,0xab};

所以我希望得到这个输出:

0x1213ab

1 个答案:

答案 0 :(得分:0)

你可以轻松地做到这一点

#include <iostream>
#include <iomanip>

int main() {
    int test[3] = {0x12,0x13,0xab};

    std::cout << "0x";
    for(auto x : test) {
        std::cout << std::hex << std::setw(2) << std::setfill('0') << x;
                  // |           |               |
                  // |           |               v
                  // |           |               Prevents filling blanks
                  // |           v
                  // |           Chooses a field output size of 2
                  // v
                  // Provides hex formatting of integers
    }
    std::cout << std::endl;
}

请参阅Live Demo

来自好c++ reference documentation的相关链接: