Bonjour,
comment je detecte des lignes de valeurs dans un fichier texte
merci d'avance
-----

Bonjour,
comment je detecte des lignes de valeurs dans un fichier texte
merci d'avance
bonjour
lignes de valeurs ????? vous pouvez détailler un peu plus !
merci
salut coco83,
en faite j'ai un fichier texte. dans ce fichier j'ai des lignes et de colone.
sur quelques lignes au début il y a une valeur= 20n. moi je veux sortir dans un autre fichier que les lignes qui contient la valeur 20n.
cordialement
Avec Unix voir la commande grep. S'il s'agit d'autre chose, j'ai oublié ma boule de cristal pour le deviner![]()
On trouve des chercheurs qui cherchent ; on cherche des chercheurs qui trouvent !
Alors comme pour ton autre sujet :
Il va nous falloir des précisions :
Quel langage ou logiciel utilises-tu ?
Y-a-t-il des contraintes particulières ?
Sinon en règle générale dans ce genre de cas en programmation ça donne :
C'est de l'algorithmique de base, donc s'il n'y a pas de contrainte particulière : au travail !Code:tant que tout le fichier n'est pas lu lire ligne par ligne si la ligne contient la valeur dont on a besoin on l'écrit dans un autre fichier fin si fin tant que![]()
Est-ce que tu as Excel ?
Si tu as Excel, tu crées le dossier c:\programme
Tu mets dedans ton fichier texte et le renommes fichier_in.txt
Tu colles dedans un fichier Excel vide que tu ouvres.
Sous VBE, tu tapes la macro suivante :
Elle va récupérer toutes les lignes commençant par 20n et les écrire dans le fichier fichier_out.txtCode:Sub Macro1() Dim enregistrement As String Open "c:\programme\fichier_in.txt" For Input As #1 Open "c:\programme\fichier_out.txt" For Output As #2 While Not EOF(1) Line Input #1, enregistrement If LCase(Left(enregistrement, 3)) = "20n" Then Print #2, enregistrement End If Wend Close #2 Close #1 MsgBox "Votre fichier a été enregistré sous le nom fichier_out.txt", vbInformation + vbOKOnly, "Fin de traitement" End Sub
Si tu n'as pas un truc comme Excel, Access, etc., nous ne pouvons effectivement rien faire pour toi, si tu ne nous dis pas quel est ton langage de programmation.
grep '^20n' toto.txt
Et en plus, ça existe même sur wintruc...
http://gnuwin32.sourceforge.net/packages/grep.htm
Jusqu'ici tout va bien...
merci pour ta réponse,
je travail en language C sous linux
On lit dans fichier_r.txt les lignes une à une et on les recopie dans fichier_w.txt lorsqu'elles commencent par la chaîne "20n".
Ca c'est pour garder une trace. Sinon, il suffit d'afficher les lignes sur l'écran, ce qui est beaucoup plus simple.
Code:#include <iostream> #include <string> #include <fstream> using namespace std; int main() { // Déclaration du flux et ouverture du fichier en lecture ifstream fichier_r("fichier_r.txt", ios::in); //Déclaration du flux et ouverture du fichier en écriture ofstream fichier_w("fichier_w.txt", ios::out | ios::trunc); if(fichier_r) // si l'ouverture en lecture a fonctionné { string ligne; // Tant qu'il y a des lignes à lire while(getline(fichier_r, ligne)) { if ((ligne[0]=='2' && ligne[1]=='0' && ligne[2]=='n')) { fichier_w << ligne << endl; } } } else { //Le fichier en lecture n'a pu être ouvert cerr << "Impossible d'ouvrir fichier_r.txt !" << endl; } fichier_r.close(); fichier_w.close(); }
merci bcp pour ta réponse
