1

How do I input DEADBEEF and output DE AD BE EF as four byte arrays?

0

2 Answers 2

4
void hexconvert( char *text, unsigned char bytes[] )
{
    int i;
    int temp;

    for( i = 0; i < 4; ++i ) {
        sscanf( text + 2 * i, "%2x", &temp );
        bytes[i] = temp;
    }
}
Sign up to request clarification or add additional context in comments.

Comments

2

Sounds like you want to parse a string as hex into an integer. The C++ way:

#include <iostream>
#include <sstream>
#include <string>

template <typename IntType>
IntType hex_to_integer(const std::string& pStr)
{
    std::stringstream ss(pStr);

    IntType i;
    ss >> std::hex >> i;

    return i;
}

int main(void)
{
    std::string s = "DEADBEEF";
    unsigned n = hex_to_integer<unsigned>(s);

    std::cout << n << std::endl;
}

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.