// ============================================================================
//  qtextstream_io  —  Qt 桌面示例
//  来源：川大 C++/LinuxC wiki「02.Qt方向」
//  原文片段：[58954552:text]
//  说明：本文件由 gen_part3.py 从 wiki 片段生成（必要时补 main/QApplication
//        外壳、include、修正笔误）。详见 docs/ERRATA.md。
//        离屏验证：QT_QPA_PLATFORM=offscreen tools/run_qt.sh <target>（自动退出）
// ============================================================================

#include <QApplication>
#include <QFile>
#include <QTextStream>
#include <QDebug>
#include <QTimer>

// 文本文件读写：先写 file.txt，再读回
int main(int argc, char* argv[]) {
    QCoreApplication app(argc, argv);

    // ---- 写 ----
    {
        QFile data("file.txt");
        if (data.open(QFile::WriteOnly | QFile::Truncate)) {
            QTextStream out(&data);
            out << "line1: hello" << endl;
            out << "line2: world" << endl;
            data.close();
        }
    }
    // ---- 读 ----
    {
        QFile data("file.txt");
        if (data.open(QFile::ReadOnly)) {
            QTextStream in(&data);
            QString line;
            while (in.readLineInto(&line)) {
                qDebug() << "read:" << line;
            }
            data.close();
        }
    }

    QTimer::singleShot(0, &app, &QCoreApplication::quit);
    return app.exec();
}
