Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Text to HEX и обратно.


Автор: fdsgfds 2.4.2010, 06:04
Сабж.
Даем строку символов, получаем эти же символы в hex варианте
Пример:
Вход(HEX): DEADBEEF
Выход(строка): DEADBEEF 
И наоборот:
Вход(строка): BADADA4A
Выход(HEX): BADADA4A
Надеюсь понятно расписал.

Автор: GoldFinch 2.4.2010, 08:11
cin >> hex >> ...
cout << hex << ...

Автор: azesmcar 2.4.2010, 08:13
Цитата(GoldFinch @  2.4.2010,  08:11 Найти цитируемый пост)
cin >> hex >> ...
cout << hex << ... 

 smile 
а ведь верно

fdsgfds
ты видимо не так понял задачу.

Автор: fdsgfds 2.4.2010, 11:46
Попробую поподробней.
Есть строка вида DEADBEEF.
Мне надо получить из нее массив из 4 байтов DE AD BE EF.
Спасибо.

Автор: GoldFinch 2.4.2010, 13:21
fdsgfds,
strtol(str, NULL, 16)

Добавлено через 11 минут и 5 секунд
ах да, массив
Код

unsigned char* fourBytes[4];
*(long*)fourBytes = strtol("DEADBEEF", NULL, 16);

Автор: Alca 7.4.2010, 15:14
Код

#include <tchar.h>
#include <string>
#include <sstream>
#include <iostream>
#include <iterator>

template<class CharT>
std::basic_string<CharT> StringToHex(const std::basic_string<CharT>& s)
{
    using namespace std;
    basic_stringstream<CharT> hexStream;
    hexStream << hex << showbase;
    copy(s.begin(), s.end(), ostream_iterator<int, CharT>(hexStream, " "));
    return hexStream.str();
}


int _tmain(int argc, _TCHAR* argv[])
{
    std::string s("hex");
    std::cout << s << " : " << StringToHex(s) << "\n";
    return 0;
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)