Приветствую всех!
Тут у меня возникла проблема с выводом данных из QByteArray в консоль...
т.е. заполняю массив так:
for (int i=0;i<bw;i++) {
ba[i] = i;
}
и мне нужно в консоль вывести данные так, чтобы получилось :
[01][02][03]....[FF]
к примеру...
если вывожу данные так:
for (int i=0;i<ba.size();i++) {
cout << "{" << ba.at(i) << "}";
}
то в консоль выводится что то вроде и спикер пикает:
[ ][☺][☻][♥][♦][♣][♠] и т.п.
если вывожу так:
...
cout << "{" << (int)ba.at(i) << "}";
...
то выводит:
- [1][2][3][4] .... [127][-128][-127] и т.п.
если использовать функцию QByteArray::number(n, 16);
то вместо [01] выводит [1], вместо [0F] выводит [F] и т.п.
Подскажите, где взять функцию, которая преобразовывала бы DEC в HEX с указанием количества байт для вывода, типа этого:
QByteArray DecToHex(int Data, int Bytes), где
Data - это число которое нужно преобразовать, Bytes - количество выводимых байт (формат вывода), т.е
если Bytes = 1 то должно вывести [01] ... [0F] .... [FF]
если Bytes = 2 то [0001] ... [00FF] ... [FFFF]
и т.п.
Итак два вопроса:
1. Как вывести в DEC
2. Как вывести в HEX