The difference between QTextStream and QDataStream

The QTextStream class provides a convenient interface for reading and writing text.

    {
        QFile file("test.txt");
        if (file.open(QFile::WriteOnly)) {
            QTextStream out(&file);
            out << "hello world";
            file.flush();
            file.close();
        }
    }

    {
        QFile file("test.txt");
        if (file.open(QFile::ReadOnly)) {
            QString str;
            QTextStream in(&file);
            while (!in.atEnd()) {
                qDebug() <<  in.readLine();
            }
            file.flush();
            file.close();
        }
    }

The QDataStream class provides serialization of binary data for QIODevice.

    {
        QFile file("file.dat");
        if(file.open(QIODevice::WriteOnly)){
            QDataStream out(&file);
            out << QString("the answer is");
            out << (qint32)42;
            file.flush();
            file.close();
        }
    }

    {
        QFile file("file.dat");
        if(file.open(QIODevice::ReadOnly)){
            QDataStream in(&file);
            QString str;
            qint32 num;
            in >> str >> num;
            qDebug() << str << num;
            file.flush();
            file.close();
        }
    }

Guess you like

Origin blog.csdn.net/sinat_33859977/article/details/114714036