我試圖從這個檔案中讀取資料:

其中包含以二進制形式存盤的 ascii 文本和浮點數。我正在嘗試通過執行以下操作來閱讀它:
QTextStream in(file);
QString line;
line = in.readLine();
while (!line.startsWith(QString("element vertex"))) {
line = in.readLine();
}
point_count = line.split(QString(" ")).last().toInt();
qDebug() << "PC: " << point_count;
while (line != "end_header") {
line = in.readLine();
}
QDataStream* stream = new QDataStream(file);
stream->skipRawData(in.pos());
stream->setFloatingPointPrecision(QDataStream::SinglePrecision);
float number;
(*stream) >> number;
qDebug() << "Float: " << number;
但是我讀到-1.98117e 13,我猜這是錯誤的,我做錯了什么?
uj5u.com熱心網友回復:
QDataStream 的默認位元組順序是 big endian;將其更改為小端:
stream->setByteOrder(QDataStream::LittleEndian)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/378525.html
