Probleme avec QT
Bonjour chères amis je n'arrive pas a ouvrir mon fichier en Qt
pouvez vous m'aidez
voici mon code
mais on m'affiche toujours impossible d'ouvrir le fichier or le fichier est dans le meme sous dossier que mon programme.
pouvez vous m'aidez
voici mon code
QFile fichier("melo.txt"); if(fichier.open(QIODevice::ReadOnly | QIODevice::Text)) { int trouve = 0; QTextStream flux(&fichier); while(!flux.atEnd()) { if(chaine1 == flux.readLine() ) { trouve = 1; break ; } } fichier.close(); } else { QMessageBox::information(this, "Information", "Impossible d'ouvrir le fichier"); }
mais on m'affiche toujours impossible d'ouvrir le fichier or le fichier est dans le meme sous dossier que mon programme.
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Probleme avec QT
- Qt sdk - Télécharger - Langages
- Qt web - Télécharger - Navigateurs
- Qt tab bar - Télécharger - Personnalisation
- ComboBox en C++ avec Qt - Forum C++
- Problème avec le slot quit de Qt ✓ - Forum C++
1 réponse
Bonjour,
Pourquoi ne pas utiliser directement std::ifstream et std::getline?
http://www.cplusplus.com/reference/fstream/ifstream/
http://www.cplusplus.com/reference/string/string/getline/
Ce qui donne :
PS : Les puristes te diraient que ça s'écrit Qt, pas QT ;-)
Bonne chance
Pourquoi ne pas utiliser directement std::ifstream et std::getline?
http://www.cplusplus.com/reference/fstream/ifstream/
http://www.cplusplus.com/reference/string/string/getline/
#include <fstream> #include <iostream> #include <string> int main() { const char *filename = "/etc/motd"; std::ifstream ifs(filename); if (ifs) { std::string line; for (unsigned i = 0; std::getline(ifs, line); i++) { std::cout << "line " << i << " : " << line << std::endl; } } else { std::cerr << "Cannot read " << filename << std::endl; } return 0; }
Ce qui donne :
(mando@velvet) (~) $ g++ toto.cpp
(mando@velvet) (~) $ ./a.out
line 0 :
line 1 : The programs included with the Debian GNU/Linux system are free software;
line 2 : the exact distribution terms for each program are described in the
line 3 : individual files in /usr/share/doc/*/copyright.
line 4 :
line 5 : Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
line 6 : permitted by applicable law.
PS : Les puristes te diraient que ça s'écrit Qt, pas QT ;-)
Bonne chance