可以使用以下代码来实现按行读取txt文件,并判断每个文件是否存在:

#include <QFile>
#include <QTextStream>
#include <QFileInfo>

void checkFilesExistence(const QString& filePath)
{
    QFile file(filePath);
    if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
    {
        qWarning("Failed to open file: %s", qPrintable(filePath));
        return;
    }

    QTextStream in(&file);
    while (!in.atEnd())
    {
        QString line = in.readLine();
        // Trim leading and trailing whitespaces from the line
        line = line.trimmed();

        // Check if the file exists
        QFileInfo fileInfo(line);
        if (fileInfo.exists() && fileInfo.isFile())
        {
            qDebug("File exists: %s", qPrintable(line));
        }
        else
        {
            qWarning("File does not exist: %s", qPrintable(line));
        }
    }

    file.close();
}

你可以将上述函数放在你的Qt工程中的任何一个类中,并且在需要调用的地方使用该函数来检查txt文件中每个文件的存在性,如下所示:

QString filePath = "path_to_your_txt_file.txt";
checkFilesExistence(filePath);

请将"path_to_your_txt_file.txt"替换为你实际的txt文件路径。

一个txt文件中每一行是一个文件的绝对路径部分文件名中间可能存在空格需要特殊处理使用Qt的语法写一个函数按行读取txt文件判断每一个文件是否存在。

原文地址: https://www.cveoy.top/t/topic/i5Y4 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录