如何从文件中读取十六进制并将其存储在unsigned char中?

时间:2016-03-23 09:15:14

标签: c++ qt

文件包含字符'0','x','5','1'和新行。

QFile file ("config.txt");

QString fileContent;
if (file.open (QIODevice::ReadOnly))
{
    QString line;
    QTextStream t(&file);
    do
    {
        line = t.readLine();
        fileContent += line;
    } while (!line.isNull());

    file.close();
}

unsigned char m_pduAddress = fileContent.toUInt (0, 16);

如何从文件中读取十六进制并将其存储在unsigned char?

我听说过使用char *的所有十进制到十六进制转换函数。我必须将结果存储在unsigned char中,而不是char *。

1 个答案:

答案 0 :(得分:2)

您可以直接阅读QTextStream

中的值
QTextStream t(&file);
int value;
t >> value;

这将自动检测前导0x并将其余部分读作十六进制数字。