文件包含字符“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);
如何从文件中读取十六进制并将其存储在无符号字符中?
我听说过的所有十进制到十六进制的转换函数都使用 char*。我必须将结果存储在 unsigned char 中,而不是 char*。
最佳答案
可以直接从QTextStream
中读取值:
QTextStream t(&file);
int value;
t >> value;
这将自动检测前导 0x
并将其余部分读取为十六进制数。
关于c++ - 如何从文件中读取十六进制并将其存储在无符号字符中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36173960/