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