Modifier un fichier en C
Fermé
£udo
Messages postés
455
Date d'inscription
mardi 8 juin 2004
Statut
Membre
Dernière intervention
19 décembre 2006
-
31 mars 2005 à 19:33
SKZ81 - 2 avril 2005 à 00:01
SKZ81 - 2 avril 2005 à 00:01
A voir également:
- Supprimer une ligne dans un fichier en c
- Impossible de supprimer un fichier - Guide
- Fichier rar - Guide
- Supprimer une page word - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
7 réponses
blurk
Messages postés
486
Date d'inscription
vendredi 16 avril 2004
Statut
Membre
Dernière intervention
15 mars 2009
160
1 avril 2005 à 11:14
1 avril 2005 à 11:14
salut!
y'a pas de solution miracle:
il n'y a pas d'insertion,
il n'y a que de l'ajout en fin de fichier.
(enfin avec les librairies de base du C ansi, et à ma connaissance)
mais je connais 2 manières de faire:
A/
1 lire le fichier,
2 tout mettre en mémoire
3 modifier
4 réécrire en écrasant le fichier
B/
1 lire le fichier source en lecture
2 creer un fichier cible avec un nouveau nom
3 faire une boucle qui lit le fichier source
et ecrit dans la cible la fiche avec eventuellement
les modifications (qui n'ecrit pas si la fiche est supprimée)
4 fermer les fichiers
5 effacer le fichier source
6 renomer le fichier cible avec le nom du fichier source
la solution A est rapide à l'exécution, mais il faut pas
se planter avec l'allocation mémoire.
la solution B est lente à l'exécution
(en effet un disque dur est plus lent que la mémoire vive)
mais le traitement est plus fiable, moins de risque
de perte des données.
Je sais pas si ça peut te servir, mais les autre méthodes
si il y en a, doivent être hyper complexes et de toutes façon
pas aussi rapide.
cordialement
y'a pas de solution miracle:
il n'y a pas d'insertion,
il n'y a que de l'ajout en fin de fichier.
(enfin avec les librairies de base du C ansi, et à ma connaissance)
mais je connais 2 manières de faire:
A/
1 lire le fichier,
2 tout mettre en mémoire
3 modifier
4 réécrire en écrasant le fichier
B/
1 lire le fichier source en lecture
2 creer un fichier cible avec un nouveau nom
3 faire une boucle qui lit le fichier source
et ecrit dans la cible la fiche avec eventuellement
les modifications (qui n'ecrit pas si la fiche est supprimée)
4 fermer les fichiers
5 effacer le fichier source
6 renomer le fichier cible avec le nom du fichier source
la solution A est rapide à l'exécution, mais il faut pas
se planter avec l'allocation mémoire.
la solution B est lente à l'exécution
(en effet un disque dur est plus lent que la mémoire vive)
mais le traitement est plus fiable, moins de risque
de perte des données.
Je sais pas si ça peut te servir, mais les autre méthodes
si il y en a, doivent être hyper complexes et de toutes façon
pas aussi rapide.
cordialement