Bonjour,

Je voudrais écrire dans un fichier .txt depuis un flux TextStream, le problème est que je ne sais pas pourquoi quand je met moi même le nom du fichier ça marche bien, je peut le créer et enregistrer dedans mes données.
Mais quand j'utilise une méthode qui me sert à récupérer l'id de celui qui m'envoie le message et je la met comme nom du fichier en lui ajoutant la date et heure système, ça marche pas. Le fichier n'est pas créé.
voila ma fonction qui me sert de créer le nom voulu du fichier:
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
QStringList Server::Parser_text(QString text)
{
    cout << "je decoupe mon message" <<endl;
    QStringList list = text.split(",", QString::SkipEmptyParts);
    QString id = list.value(0);
    QString type = list.value(1);
    cout << "id : "  << id.toStdString() <<endl;
    cout << "type : "  << type.toStdString() <<endl;
    QString filename = id+"_"+QDateTime::currentDateTime().toString();
    //filename.replace(" ","_");
    cout << "filename : " << filename.toStdString() <<endl;
    QString message;
    for (int i=2; i<list.size(); i++)
        message += list[i];
    if (type == "file")
        comm->Save_file(filename,message);
 
    return list;
}
Et ma fonction qui enregistre mes données dans un fichier .txt
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
void Communication::Save_file(QString filename, QString message)
{
    cout << "file recue" << endl;
    QFile file;
    file.setFileName(filename+".txt");
    QDir::setCurrent("log");
    //QString k = QDir::current().absolutePath();
    //cout << k.toStdString() << endl;
    //QFile file("log//r1.txt");
    cout << file.fileName().toStdString()<<endl;
    file.open(QIODevice::WriteOnly | QIODevice::Text);
    QTextStream flux(&file);
    flux.setCodec("UTF-8");
    flux << QString("%1").arg(message) << endl;
    file.close();
}
Si je remplace
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
QFile file;
file.setFileName(filename+".txt");
QDir::setCurrent("log");
par
Code : Sélectionner tout - Visualiser dans une fenêtre à part
QFile file("log//r1.txt");
Ca marche sans problème,
J'arrive pas à comprendre mon erreur elle vient d'où !!!
Merci de m'aider