なぜだろうと思っていました:
QString MainWindow::getFileText(QString filename)
{
QFile test(filename + ".txt"); // The file who gets written into
QFile file(filename); // The executable I am reading
QDataStream in(&test);
if(!test.open(QIODevice::WriteOnly))
return "";
if(!file.open(QIODevice::ReadOnly))
return "";
qDebug() << file.read(257); // Got me the output I am wanting to write in my QDataStream
in.writeRawData(file.read(257), 257); // It is writing another value
file.close();
test.close();
return "";
}
file.exe を使用すると、 qDebug() を介して次の出力が得られました。
MZP\x00\x02\x00\x00\x00\x04\x00\x0F\x00\xFF\xFF\x00\x00\xB8\x00\x00\x00\x00\x00\x00\x00@\x00\x1A\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\xBA\x10\x00\x0E\x1F\xB4\t\xCD!\xB8\x01L\xCD!\x90\x90This program must be run under Win32\r\n$7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00P
一方、私の .txt は別の値を取得します。
すぐ上の出力をコピーして貼り付けて書き込むと
in.writeRawData("the output...", 257);
代わりに、完全に機能します。だから私は qDebug() が変換を行っていると思いますが、どれですか?
前もって感謝します