0
我想用QDataStream編寫二進制文件。 問題是下面的代碼,當我寫my_string =「13」,我讀0;當my_string不等於「13」(「12」,「14」,「20」,...)時,我讀取了真實值(12,14,20,...)。 有誰知道爲什麼我有這個問題正好與13號Qt C++ QDataStream讀取數字13
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
//open the file to write
QFile file1("test");
if (!file1.open(QIODevice::WriteOnly | QIODevice::Text))
return;
QDataStream stream1(&file1);
QString my_string = "13";
qint8 val8 = my_string.toInt();
stream1 << val8;
file1.close();
//open the file to read
QFile file2("test");
file2.open(QIODevice::ReadOnly | QIODevice::Text);
QDataStream stream2(&file2);
qint8 val2;
stream2>> val2;
QListWidgetItem *item = new QListWidgetItem;
item->setText(QString::number(val2));
ui->listWidget->addItem(item);
file2.close();
}
謝謝!這是好的 – federem
瞭解更多關於文本/二進制模式,它總是給出很多問題:) – Caladan