如何在QTextEdit中显示ELF文件的内容?

如何在QTextEdit中显示ELF文件的内容?,qt,binary,elf,Qt,Binary,Elf,我需要显示从和ELF文件到QTextEdit的所有字节,但我没有找到任何合理的方法。我可以打印最大值“?ELF??”然后什么也不打印。ELF的内容是以char*数组读取的(这是一项要求,无法更改),是的,请确保内容已读取。我猜您的代码如下所示: char *elf = ReadElfFile(); QString str(elf); // Constructs a string initialized with the 8-bit string str. QTextEdit edit(str)

我需要显示从和ELF文件到QTextEdit的所有字节,但我没有找到任何合理的方法。我可以打印最大值“?ELF??”然后什么也不打印。ELF的内容是以char*数组读取的(这是一项要求,无法更改),是的,请确保内容已读取。

我猜您的代码如下所示:

char *elf = ReadElfFile();
QString str(elf);  // Constructs a string initialized with the 8-bit string str.
QTextEdit edit(str);
QString str(QByteArray(elf, length_of_elf));
问题是
QString
构造函数将在第一个
NUL
字符上停止,并且ELF文件中充满了这些字符

如果要创建包含
num
s的
QString
,请执行以下操作:

char *elf = ReadElfFile();
QString str(elf);  // Constructs a string initialized with the 8-bit string str.
QTextEdit edit(str);
QString str(QByteArray(elf, length_of_elf));

我需要ELF的每个字节都显示出来。不,这不是XY问题。我想实现我在那里写的东西。不,我的QTextEdit不应该像0x7F 0x45 0x4C 0x46那样显示它。我希望它和你用任何文本编辑器打开ELF时看到的一样。你说得对。@Sokolotov我认为你确实有XY问题,但更新了答案。这不是XY问题。您建议的方法不起作用,它具有相同的输出:在第一个\0上停止。