Lire et ecrire dans un meme fichier MAIS pas a la fin

tbennaim Messages postés 3 Date d'inscription mercredi 25 février 2004 Statut Membre Dernière intervention 5 mars 2004 - 4 mars 2004 à 14:27
tbennaim Messages postés 3 Date d'inscription mercredi 25 février 2004 Statut Membre Dernière intervention 5 mars 2004 - 5 mars 2004 à 10:15
Bonjour,
j'ai besoin de lire et ecrire dans un meme fichier,
mais a priori sans utiliser append.
Je m'explique :
je lis dans mon fichier ligne a ligne, jusqu'a trouver l'expression souhaitee. A partir de cette ligne, je vais inserer
un certain nombre de lignes, sans ecraser les donnees deja existante au dessous.

JE ne vois pas comment utiliser le mode Binary, je ne fais de recherche par octet. Et le mode append positionne mon curseur de recherche a la fin du fichier, donc pas de recherche possible ...

D'avance, merci pour votre aide

Tiphaine

5 réponses

crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
4 mars 2004 à 15:35
S'il s'agit d'un fichier texte, tu dois passer par un fichier temporaire :
1- Tu ouvres ton ficheir source en lecture et un fichier temporaire en ecriture.
2- Tu lis le fichier source ligne par ligne et tu écris dans le fichier temp jusqu'a rencontrer ta ligne "charnière"
3- Tu ecris dans le ficheir temporaire les nouvelles lignes
4- Tu lis la fin du fichier source ligne à ligne et tu les écris dans le ficheir temporaire
5- Tu refermes les deux fichiers
6- Tu effaces le fichier source
7- Tu renommes le fichier temporaire

Christophe R.
0
tbennaim Messages postés 3 Date d'inscription mercredi 25 février 2004 Statut Membre Dernière intervention 5 mars 2004
4 mars 2004 à 16:33
Merci pour la reponse.
Le souci est qu'en fait je dois chercher jusqu'a une dizaine d'expressions, avec une boucle for
pour y inserer un texte different a chaque fois, et que ma recherche porte sur 2 fichiers en parallele.
(si je ne trouve pas l'expression dans un fichier, il faut la chercher dans l'autre , et ecrire dans l'autre ...).
Je vais devoir jongler avec les fichiers temporaires, mais ta solution est ok.
Par contre quelles sont les commandes pour effacer un fichier et pour renommer un fichier?

Tip^haine
0
Tilois Messages postés 721 Date d'inscription dimanche 10 juin 2001 Statut Membre Dernière intervention 27 mars 2011 7
4 mars 2004 à 16:48
pour effacer un fichier
Kill NomFichier
Renommer
BEn ty le copy pour le nouveau nom avec FileCopy fichier1,fichier2 et tu le détruit
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
4 mars 2004 à 19:28
Pour renommer, il y a la fonction Name
Name Source As Dest


Christophe R.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tbennaim Messages postés 3 Date d'inscription mercredi 25 février 2004 Statut Membre Dernière intervention 5 mars 2004
5 mars 2004 à 10:15
D'accord, merci bien.

Tiphaine
0
Rejoignez-nous