Доброго всем времени суток.
Столкнулся с такой проблемой:
Есть некий файл в котором записано число в двоичном формате, т.е. если в посмотреть в шестнадцатеричном виде будет, например,
0С или
03, что соответствует числам 12 и 3 соответственно.
Я читаю файл так:
QFile file(filename);
if(file.open(QIODevice::ReadOnly))
{
char kol[1];
QDataStream in(&file);
in.readRawData(kol, 1);
...
Соответственно в col имеем абракадабру.
Вопрос: как преобразовать абракадабру в число (тип int или QString)?
P.S. Есть аналогичное решение, реализованное в Borland C++ Builder 6:
h = CreateFile(filename, GENERIC_READ, 0, 0, OPEN_EXISTING, FILE_FLAG_RANDOM_ACCESS, NULL);
ReadFile(h, &_kss, 4, &t, NULL);
char ttt[8] = "";
BinToHex(_kss, ttt, 8);
double hex = 0;
hex = StrToInt("0x" + String(ttt, 8));
ts3->Add(FloatToStr(hex/1000000));
Соответственно ts3 это что-то типа StringList, в строки которого добавляются значения.
К сожалению в Qt нет функции BinToHex (я не нашел). Возможно ли реализовать подобное средствами Qt и как?
Всем спасибо за дискуссию и ответы.