Kannst du stattdessen eine do-while-Schleife verwenden?
Wie öffne und lese ich jede Datei in einem Verzeichnis mit der Qt C++ QDir-Klasse, überspringe spezielle Dateien wie Symlinks, in alphabetischer Reihenfolge, beginnend mit Großbuchstaben? Hier ist ein Beispiel, wie du mit der Qt C++ QDir-Klasse jede Datei in einem Verzeichnis öffnen und lesen kannst, spezielle Dateien wie Symlinks überspringst, in alphabetischer Reihenfolge, beginnend mit Großbuchstaben:

#include <QDir>
#include <QFileInfo>
#include <QTextStream>
#include <QDebug>

int main(int argc, char *argv[])
{
    // Setze den Verzeichnispfad
    QString verzeichnisPfad = "./";

    // Erstelle ein QDir-Objekt mit dem angegebenen Verzeichnispfad
    QDir verzeichnis(verzeichnisPfad);

    // Filtere die Dateien, um nur reguläre Dateien anzuzeigen
    verzeichnis.setFilter(QDir::Files | QDir::NoSymLinks);

    // Sortiere die Dateien in alphabetischer Reihenfolge, beginnend mit Großbuchstaben
    verzeichnis.setSorting(QDir::Name | QDir::Reversed);

    // Erhalte eine Liste aller Dateien im Verzeichnis
    QFileInfoList dateiListe = verzeichnis.entryInfoList();

    // Gehe jede Datei in der Liste durch
    for (int i = 0; i < dateiListe.size(); i++)
    {
        // Erhalte die Dateiinformationen für die aktuelle Datei
        QFileInfo dateiInfo = dateiListe.at(i);

        // Öffne die Datei zum Lesen
        QFile datei(dateiInfo.filePath());
        if (!datei.open(QIODevice::ReadOnly | QIODevice::Text))
        {
            qDebug() << "Fehler beim Öffnen der Datei:" << dateiInfo.fileName();
            continue;
        }

        // Lese den Inhalt der Datei
        QTextStream stream(&datei);
        QString dateiInhalt = stream.readAll();

        // Schließe die Datei
        datei.close();

        // Gib den Inhalt der Datei aus
        qDebug() << "Dateiinhalt:" << dateiInhalt;
    }

    return 0;
}
Dieser Code liest den Inhalt jeder Datei im angegebenen Verzeichnis, filtert spezielle Dateien wie Symlinks aus, sortiert die verbleibenden Dateien in alphabetischer Reihenfolge, beginnend mit Großbuchstaben, und gibt den Inhalt jeder Datei in der Konsole aus.
Natürlich. Hier ist der gleiche Code, aber mit einer do-while-Schleife:

```c++
#include <QDir>
#include <QFileInfo>
#include <QTextStream>
#include <QDebug>

int main(int argc, char *argv[])
{
    // Setze den Verzeichnispfad
    QString verzeichnisPfad = "./";

    // Erstelle ein QDir-Objekt mit dem angegebenen Verzeichnispfad
    QDir verzeichnis(verzeichnisPfad);

    // Filtere die Dateien, um nur reguläre Dateien anzuzeigen
    verzeichnis.setFilter(QDir::Files | QDir::NoSymLinks);

    // Sortiere die Dateien in alphabetischer Reihenfolge, beginnend mit Großbuchstaben
    verzeichnis.setSorting(QDir::Name | QDir::Reversed);

    // Erhalte eine Liste aller Dateien im Verzeichnis
    QFileInfoList dateiListe = verzeichnis.entryInfoList();

    // Gehe jede Datei in der Liste durch
    int i = 0;
    do {
        // Erhalte die Dateiinformationen für die aktuelle Datei
        QFileInfo dateiInfo = dateiListe.at(i);

        // Öffne die Datei zum Lesen
        QFile datei(dateiInfo.filePath());
        if (!datei.open(QIODevice::ReadOnly | QIODevice::Text))
        {
            qDebug() << "Fehler beim Öffnen der Datei:" << dateiInfo.fileName();
            continue;
        }

        // Lese den Inhalt der Datei
        QTextStream stream(&datei);
        QString dateiInhalt = stream.readAll();

        // Schließe die Datei
        datei.close();

        // Gib den Inhalt der Datei aus
        qDebug() << "Dateiinhalt:" << dateiInhalt;
        i++;
    } while (i < dateiListe.size());

    return 0;
}
```