Bonjour,

Un petit problème se pose à moi, c'est quelque chose de tout à fait trivial, mais je n'arriver pas à trouver la source du dysfonctionnement.

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
if(m_countFile.open(QIODevice::ReadOnly))	{
        QDataStream stream(&m_countFile);
        QTime time;
        stream >> time;
        m_countFile.close();
        if(m_countFile.open(QIODevice::WriteOnly | QIODevice::Truncate)) {
            stream.setDevice(&m_countFile);
            stream << time.addSecs(60);
            m_countFile.close();
            if(m_countFile.open(QIODevice::ReadOnly))	{
                stream.setDevice(&m_countFile);
                stream >> time;
                m_countFile.close();
            }
        }
    }
L'idée est de lire l'objet QTime sérialisé dans le fichier. Si le fichier est vide (ce qui est le cas au début), l'objet time est initialisé à 0. Ensuite, je rouvre le fichier avec le flag truncate pour écraser son contenu par la nouvelle valeur de time. Le dernier morceau sert à relire le fichier pour voir le résultat de l'opération.

L'exécution se déroule sans encombres, passant par chaque étape, mais le fichier reste désespérément vide.