Verificar se é ficheiro ou pasta



  • Neste momento construi um código em que em que vou à base de dados buscar um texto (ex: c:\wamp\file.txt) e ele verifica se é um ficheiro ou uma pasta, e toma acções diferentes. Aqui reside um claro bug, para o caso do ficheiro não ter extensão (o meu plano foi verificar se existia o ponto). Existe alguma maneira mais acertada de fazer isto, ou seja, sem este bug?

    Eu pensei também usar o seguinte:

    QString mPath = "C:/wamp/easy/easy";
    if(!mDir.exists(mPath))
    

    e criei um ficheiro de teste sem extesão em c:/wamp/easy, com o nome easy, mas sem nenhuma pasta, e o interessante é que ele diz que a pasta já existe.

    Alguém?



  • A Classe QDir faz isso...



  • Use QFileInfo:

    @
    QString mPath = “C:\wamp\easy\easy”;
    //....
    QFileInfo info1( mPath );
    if ( info1.isDir() ) {
    //É pasta
    } else {
    //É ficheiro
    }
    @



  • Era mesmo issoTioRoy, muito obrigado :)

    Por acaso tinha lido num manual o seguinte:

    @ foreach(QFileInfo mitm, mDir.entryInfoList())
    {
    qDebug() << mitm.absoluteFilePath();
    if(mitm.isDir())
    {
    qDebug() << "Dir: " << mitm.absoluteFilePath();
    }
    if(mitm.isFile())
    {
    qDebug() << "File: " << mitm.absoluteFilePath();
    }
    }@

    Mas infelizmente também não funcionou (não percebi o problema) simplesmente não imprimia o conteudo :\


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.