2010-02-24 2 views
2

Использование стандартного ввода-вывода C++ (например, std::cout) позволяет ли «печатать» значение массива (пусть и длинного) в строку?Печать шестнадцатеричного значения массива в строку с использованием C++

Например, у меня есть следующий массив:

unsigned long C = {0x497fecf2, 0xfa989ea3, 0xd594974e}; 

я хотел бы иметь возможность печатать эти значения в строку, а затем удалить «0x» из них. С другого SO question, я нашел, как печатать шестнадцатеричные значения с cout.

Является ли то, что я прошу, как я описал?

Было бы лучше просто вернуться к старому назначению comp sci для базовых преобразований и преобразовать десятичное значение в шестнадцатеричный, используя таблицу поиска, чтобы добавить соответствующий следующий hexit в строку?

ответ

3

Создайте std::ostringstream и распечатайте их на нем так же, как вы могли, до cout. Извлеките строку с содержимым с помощью элемента stringstream str().

+0

Я знал, что это не может быть так сложно - просто не знал, где искать. благодаря – warren

Смежные вопросы