好吧,这证明我是编码的菜鸟!我到处寻找,但仍然无法做到这一点。这应该很简单。
我一直在尝试这个:
int i;
for(i=0;i<16;i++)
{
QChar q = QChar(memblock[i]);
QString s = QString(q);
QTableWidgetItem *item = new QTableWidgetItem(s);
ui->tableWidget->setItem(rowCount, colCount, item);
}
所以我从每个字符串制作表格项目。那是因为我也不知道如何从 QChar 或普通字符中制作表格项目。
但是每个单元格最终都会得到:
Ý
而当我添加时:
cout << memblock[i];
它正确显示:
RIFFd2 WAVEfmt
这是读取原始数据的代码:
ifstream file (text, ios::in|ios::binary|ios::ate);
if (file.is_open())
{
size = file.tellg();
memblock = new char [size];
file.seekg(0, ios::beg);
file.read(memblock, size);
file.close();
}
另外,当我这样做时cout << &memblock[i]
,对于 i 从 0 到 4 我得到:
RIFFd2
IFFd2
FFd2
Fd2
等等。