Rechercher : dans
Par :

Afficher une ligne dans un fichier.txt avc Qt

Dernière réponse le 27 mar 2009 à 14:51:35 lalou94, le 27 mar 2009 à 09:20:18 
 Signaler ce message aux modérateurs

Bonjour,à tous
voilà
j'ai un fichier texte, à l'intérieur duquel il y a des lignes de caractère
donc je dois afficher deux lignes qui commence toutes les deux par le même mot
et après je dois pouvoir les modifier

un exemple serait plus simple

texte file:///local/essai.xml
texte file:///local/essai2.xml

donc je galère j'arrive à afficher le fichier texte en entier mais pas seulement ces deux lignes
et donc également les modifier

je réalise ça en c++ avec la librairie QT

merci d'avance.

Configuration: Linux
Opera 9.63

Meilleures réponses pour « afficher une ligne dans un fichier.txt avc Qt » dans :
Afficher les extensions et les fichiers cachés sous Windows VoirPour afficher les extensions Solution simple Solution avec le registre Pour afficher les fichiers et les dossiers cachés Pour afficher les fichiers et les dossiers système Pourquoi afficher les extensions ? Lorsque vous ne voyez...
Fichier TXT VoirFormat TXT Un fichier TXT est un fichier texte, c'est-à-dire un simple fichier contenant du texte au format ASCII. Pour ouvrir ou modifier un tel fichier, il suffit d'utiliser le bloc-notes ou un éditeur de texte traditionnel.
PHP - Les fichiers VoirLa gestion des fichiers avec PHP Avec PHP, la création ou la lecture de fichiers est, une fois de plus, assez simple. Il existe une multitude de fonctions dédiées à l'utilisation des fichiers. La communication entre le script PHP et le fichier...

1

 loupius, le 27 mar 2009 à 14:51:35

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.

Répondre à loupius