IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Discussion :

Lecture de fichiers

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Février 2011
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 221
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    QString monfichier = "D:/fonctionnementfeuxtricolores/multivoieloiexponentielle/SECTOR/fichier.configuration1";
        QFile fichier(monfichier);
        fichier.open(QIODevice::ReadOnly | QIODevice::Text);
        QTextStream reseau(&fichier);
        reseau.setCodec("UTF-8");
    bonjour;
    je ne sais pas pourquoi QT n'arrive pas à lire mon fichier texte, sachant que avec le même code j'ai déjà pu l'ouvrir et utiliser ses données sur un autre pc !!!!
    merci d'avance

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     
    void Fichier::LireFichierConfiguration()
    {
        m_ListeOrigine = new QList <Origine*>;
     
        QString monfichier = "D:/fonctionnementfeuxtricolores/multivoieloiexponentielle/SECTOR/fichier.configuration1";
        QFile fichier(monfichier);
        fichier.open(QIODevice::ReadOnly | QIODevice::Text);
        QTextStream reseau(&fichier);
        reseau.setCodec("UTF-8");
     
        QString ligne;
        int nbr_tronc=0;
        if (! reseau.atEnd())
        {
            // traitement du mot:origine
            ligne = reseau.readLine();
            cout << ligne.toStdString() << endl;
            int nbr_origines,nbr_voies_orig,longueur_orig;
            QString label_orig,nom_orig,Nom_jonction_destination_orig;
            double vitesse_orig,debit_orig;
     
            QTextStream in(&ligne);
            in >> label_orig;
            in >> dec >> nbr_origines;
     
            reseau.readLine(); //ligne vide
            reseau.readLine(); //ligne vide
            reseau.readLine(); //ligne vide
             for (int i=0; i < nbr_origines; i++)
             {
                 ligne = reseau.readLine();
                 QTextStream in(&ligne);
                 in >> nom_orig;
                 in >> Nom_jonction_destination_orig;
                 in >> dec >> longueur_orig;
                 in >> dec >> nbr_voies_orig;
                 in >> dec >> vitesse_orig;
                 in >> dec >> debit_orig;
                 cout << nom_orig.toStdString() << ":" <<Nom_jonction_destination_orig.toStdString()<<" "<<longueur_orig<<" "<<nbr_voies_orig<<" "<<vitesse_orig<<" "<<debit_orig<< endl;
     
                 Origine* orig;
                 orig = new Origine();
                 orig->SetNomOrig(nom_orig);
                 orig->index_orig = i;
                 orig->AddNomJonctionDestination(Nom_jonction_destination_orig);
                 orig->SetLongueurOrig(longueur_orig);
                 orig->SetNbrVoiesOrig(nbr_voies_orig);
                 orig->SetVitesseLibreOrig(vitesse_orig);
                 orig->SetDebitMaxOrig(debit_orig);
                 m_ListeOrigine->append(orig);
     
        }
    }
    emplus en lançant le débogage devant "mon fichier" je trouve false et donc il ne passe pas par le test ": if (! reseau.atEnd())" ; c'est ça le problème !!
    je ne comprends pas pour quoi il n'arrive pas à lire le fichier, car ça déjà fonctionné au par avant : j'ai juste changer le chemin du fichier "D:/fonctionnementfeuxtricolores/multivoieloiexponentielle/SECTOR/fichier.configuration1" en travaillant sur un autre ordinateur!!
    est ce qu'il y a une personne qui peut me trouver une solution?
    merci

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2009
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009
    Par défaut
    Tu devrais tester fichier.open(), et voir l'erreur retournée dans fichier.error().

    http://qt.developpez.com/doc/latest/...fileerror-enum

    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if(!fichier.open(QIODevice::ReadOnly | QIODevice::Text))
        qDebug() << fichier.error();
    pour le principe.

  3. #3
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Février 2011
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 221
    Par défaut
    excusez moi mais j'ai rien compris!
    expliquez d'avantage s'il vous plaît
    merci

    en fesant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if(!fichier.open(QIODevice::ReadOnly | QIODevice::Text))
        qDebug() << fichier.error();
    il m'a affiché le chiffre 5 c'est à dire: QFile::OpenError 5 The file could not be opened.
    comment je peux résoudre ce problème ???

  4. #4
    Membre Expert

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2009
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009
    Par défaut
    D'acc, ça nous apprend pas grand chose de plus mais ça élimine des possibilités.

    Que donne
    ?

  5. #5
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Février 2011
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 221
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    qDebug() << fichier.exists();
    me donne false !!!
    normalement ça implique que le fichier n'existe pas, mais j'ai vérifié pas mal de fois et il est bien dans "D:/fonctionnementfeuxtricolores/multivoieloiexponentielle/SECTOR/fichier.configuration1"!!!
    est ce qu'il y a un autre moyen pour vérifier ?
    merci d'avance

  6. #6
    Membre Expert

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2009
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009
    Par défaut
    Regarde si fichier.fileName() te donne bien ce qu'il faut. Difficile de t'aider plus, il ne trouve pas le fichier.

    Tu peux essayer :
    "D:\\fonctionnementfeuxtricolores\\multivoieloiexponentielle\\SECTOR\\fichier.configuration1"
    "/fonctionnementfeuxtricolores/multivoieloiexponentielle/SECTOR/fichier.configuration1"
    "file://D:/fonctionnementfeuxtricolores/multivoieloiexponentielle/SECTOR/fichier.configuration1"

    Mais j'ai pas trop d'espoir...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Windows]lecture des fichier lnk (raccourcis)
    Par Tiaps dans le forum API standards et tierces
    Réponses: 10
    Dernier message: 21/10/2009, 19h27
  2. [jsp]lecture de fichier
    Par antigone dans le forum Servlets/JSP
    Réponses: 9
    Dernier message: 04/09/2003, 11h05
  3. [AS400][Intranet][PC] Lecture de "fichiers" AS400
    Par lando dans le forum Autres SGBD
    Réponses: 4
    Dernier message: 16/07/2003, 11h11
  4. Lecture de fichier
    Par Watcha dans le forum x86 16-bits
    Réponses: 13
    Dernier message: 04/03/2003, 20h43
  5. Lecture de fichiers ".WAV"...
    Par 0x4e84 dans le forum Langage
    Réponses: 2
    Dernier message: 03/09/2002, 09h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo