human
QT C ++ QDIRクラスを使用してディレクトリ内のすべてのファイルを開き、Symlinksなどの特別なファイルをアルファベット順にスキップして、上部から始めるにはどうすればよいですか？
gpt
QT C ++ QDIRクラスを使用してディレクトリ内のすべてのファイルを開き、読み取る方法の例を示します。Symlinksなどの特別なファイルをアルファベット順にスキップして、上部文字から始めます。

#include <qdir>
#include <qfileinfo>
#include <qtextStream>
#include <qdebug>

int main（int argc、char *argv []）
{
    //ディレクトリパスを設定します
    QSTRING DIRECTORYPATH = "./";

    //指定されたディレクトリパスでQDIRオブジェクトを作成する
    QDIRディレクトリ（DirectoryPath）;

    //ファイルをフィルタリングして、通常のファイルのみを表示します
    directory.setfilter（qdir :: files | qdir :: nosymlinks）;

    //上級文字から始まるアルファベット順にファイルを並べ替える
    directory.setsorting（qdir :: name | qdir :: verversed）;

    //ディレクトリ内のすべてのファイルのリストを取得します
    qfileinfolist filelist = directory.entryInfolist（）;

    //リスト内の各ファイルをループします
    for（int i = 0; i <filelist.size（）; i ++）
    {
        //現在のファイルのファイル情報を取得します
        qfileinfo fileinfo = filelist.at（i）;

        //読み取りのためにファイルを開きます
        qfile file（fileinfo.filepath（））;
        if（！file.open（qiodevice :: readonly | qiodevice :: text））
        {
            qdebug（）<< "fileを開くことに失敗しました：" << fileinfo.filename（）;
            続く;
        }

        //ファイルの内容を読み取ります
        qtextStreamストリーム（＆file）;
        QSTRING FILCONTENTS = Stream.Readall（）;

        //ファイルを閉じます
        file.close（）;

        //ファイルの内容を印刷します
        qdebug（）<< "ファイルコンテンツ：" << filecontents;
    }

    0を返します。
}
このコードは、指定されたディレクトリの各ファイルの内容を読み取り、Symlinksなどの特別なファイルを除外し、残りのファイルを上部文字から始まるアルファベット順の順序で並べ替え、各ファイルの内容をコンソールに印刷します。
human
代わりにdo-whileループを使用できますか？
gpt
もちろん。同じコードは次のとおりですが、代わりにDO-を使用してください。

`` c ++
#include <qdir>
#include <qfileinfo>
#include <qtextStream>
#include <qdebug>

int main（int argc、char *argv []）
{
    //ディレクトリパスを設定します
    QSTRING DIRECTORYPATH = "./";

    //指定されたディレクトリパスでQDIRオブジェクトを作成する
    QDIRディレクトリ（DirectoryPath）;

    //ファイルをフィルタリングして、通常のファイルのみを表示します
    directory.setfilter（qdir :: files | qdir :: nosymlinks）;

    //上級文字から始まるアルファベット順にファイルを並べ替える
    directory.setsorting（qdir :: name | qdir :: verversed）;

    //ディレクトリ内のすべてのファイルのリストを取得します
    qfileinfolist filelist = directory.entryInfolist（）;

    //リスト内の各ファイルをループします
    int i = 0;
    する {
        //現在のファイルのファイル情報を取得します
        qfileinfo fileinfo = filelist.at（i）;

        //読み取りのためにファイルを開きます
        qfile file（fileinfo.filepath（））;
        if（！file.open（qiodevice :: readonly | qiodevice :: text））
        {
            qdebug（）<< "fileを開くことに失敗しました：" << fileinfo.filename（）;
            続く;
        }

        //ファイルの内容を読み取ります
        qtextStreamストリーム（＆file）;
        QSTRING FILCONTENTS = Stream.Readall（）;

        //ファイルを閉じます
        file.close（）;

        //ファイルの内容を印刷します
        qdebug（）<< "ファイルコンテンツ：" << filecontents;
        i ++;
    } while（i <filelist.size（））;

    0を返します。
}
`` `