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:
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
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; }
Si je remplace
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(); }
par
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 QFile file; file.setFileName(filename+".txt"); QDir::setCurrent("log");
Ca marche sans problème,
Code : Sélectionner tout - Visualiser dans une fenêtre à part QFile file("log//r1.txt");
J'arrive pas à comprendre mon erreur elle vient d'où !!!
Merci de m'aider
Partager