QTextStream与QDataStream的区别

QTextStream类为读写文本提供了一个方便的接口。

    {
        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();
        }
    }

QDataStream类为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();
        }
    }

猜你喜欢

转载自blog.csdn.net/sinat_33859977/article/details/114714036
今日推荐