У меня есть следующий макрос c из плагина libpurple yahoo:
#define yahoo_put16(buf, data) ( \
(*(buf) = (unsigned char)((data)>>8)&0xff), \
(*((buf)+1) = (unsigned char)(data)&0xff), \
2)
Я хочу реализовать то же самое, что и функция в моем классе, которая получит в качестве параметра значение quint16 и вернет его как QByteArray.
У меня есть следующее, но я не получаю тот же результат, что и с макросом выше.
QByteArray YahooPacket::packQuint16(quint16 value) const
{
QByteArray data;
data.append(QByteArray::number((value >> 8) & 0xFF));
data.append(QByteArray::number(value & 0xFF));
return data;
}
Как мне реализовать свою функцию?