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

#include <QCoreApplication>
#include <QFile>
#include <QFileInfo>
#include <QDebug>
#include <QIODevice>

int main(int argc, char* argv[]) {
    QCoreApplication app(argc, argv);

    QFile file("in.txt");
    if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
        qDebug() << "Open file failed.";
        return -1;
    }
    while (!file.atEnd()) {
        qDebug() << file.readLine();
    }

    QFileInfo info(file);
    qDebug() << "isDir:" << info.isDir();
    qDebug() << "isExecutable:" << info.isExecutable();
    qDebug() << "baseName:" << info.baseName();
    qDebug() << "completeBaseName:" << info.completeBaseName();
    qDebug() << "suffix:" << info.suffix();
    qDebug() << "completeSuffix:" << info.completeSuffix();

    return 0;  // 文件 IO 完成，直接退出（无需 app.exec() 事件循环）
}
