Доброго всем времени суток.
Столкнулся с такой проблемой:
Есть некий файл в котором записано число в двоичном формате, т.е. если в посмотреть в шестнадцатеричном виде будет, например, 0С или 03, что соответствует числам 12 и 3 соответственно.
Я читаю файл так:
QFile file(filename);
if(file.open(QIODevice::ReadOnly))
{
char kol[1];
QDataStream in(&file);
in.readRawData(kol, 1);
...
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));
QByteArray имеет метод toHex. Но вот как в него запихнуть двоичные данные с ходу не скажу. Документации под рукой нет.
Спасибо всем. После долгих мучений решил так:
int i_kol = QString(QString(kol[0])).toAscii().toHex().toInt();
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)