文件包含字符'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 *。
答案 0 :(得分:2)
您可以直接阅读QTextStream
:
QTextStream t(&file);
int value;
t >> value;
这将自动检测前导0x
并将其余部分读作十六进制数字。