2017-06-04 10 views
1

私はスクリプトのための助けが必要です。私は16進数のようなものを持っています。私はそれらの隣に整列する必要がありますが、C++でうまくいく方法でこれを解決する方法はわかりません。例えば隣の16進数を整列

私はこの配列を持っている:だから

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

と、私はこの出力を持っているしたいと思います:

0x1213ab 

答えて

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からの

関連リンク:

+0

それは整数で出力を転送することが可能でしょうか? – Yann

+0

@ Yannはい、単に 'std :: istream'を使って' std :: hex' I/Oマニピュレータを使うだけです。しかし、メモリ内で単純なコピーを実行するより高速な方法もあります。 –