Afficher une ligne dans un fichier.txt avc Qt
Fermé
lalou94
Messages postés
1
Date d'inscription
mardi 24 février 2009
Statut
Membre
Dernière intervention
27 mars 2009
-
27 mars 2009 à 09:20
loupius - 27 mars 2009 à 14:51
loupius - 27 mars 2009 à 14:51
A voir également:
- Afficher une ligne dans un fichier.txt avc Qt
- Aller à la ligne dans une cellule excel - Guide
- Hors ligne instagram - Guide
- Vente en ligne particulier - Guide
- Partage de photos en ligne - Guide
- En ligne sur messenger alors que non ✓ - Forum Facebook
1 réponse
Bon, comme trop souvent, j'ai du mal à comprendre la question.
En résumé, tu as un fichier dont tu veux extraire seulement 2 lignes; le critère d'extraction est un mot commun aux 2 lignes, mais tu ne dis pas si ce mot est connu à l'avance.
Supposons que ce mot soit connu:
- Il faut ouvrir le fichier en mode texte:
file.open(QIODevice::ReadOnly | QIODevice::Text)
- Le lire ligne par ligne:
QTextStream in(&file);
while (!in.atEnd()) {
QString line = in.readLine();
...
}
- Vérifier à chaque ligne si la condition est vraie:
QRegExp rx("($mot)");
if ( (pos = rx.indexIn(line)) > -1)
Afficher la ligne.
Il y a sans doute d'autres solutions plus adaptées au type de fichier, à sa longueur ou autres.
En résumé, tu as un fichier dont tu veux extraire seulement 2 lignes; le critère d'extraction est un mot commun aux 2 lignes, mais tu ne dis pas si ce mot est connu à l'avance.
Supposons que ce mot soit connu:
- Il faut ouvrir le fichier en mode texte:
file.open(QIODevice::ReadOnly | QIODevice::Text)
- Le lire ligne par ligne:
QTextStream in(&file);
while (!in.atEnd()) {
QString line = in.readLine();
...
}
- Vérifier à chaque ligne si la condition est vraie:
QRegExp rx("($mot)");
if ( (pos = rx.indexIn(line)) > -1)
Afficher la ligne.
Il y a sans doute d'autres solutions plus adaptées au type de fichier, à sa longueur ou autres.