Clonk
Messages postés278Date d'inscriptionmardi 22 janvier 2002StatutMembreDernière intervention29 août 2006
-
7 sept. 2004 à 10:40
cs_eRoZion
Messages postés241Date d'inscriptionvendredi 23 mai 2003StatutMembreDernière intervention 8 octobre 2007
-
7 sept. 2004 à 21:26
Bonjour,
je voudrais pouvoir supprimer la dernière ligne d'un fichier le plus rapidement possible...
En fait, j'ajoute une ligne dans un fichier pendant le traitement A, puis je lance le traitement B qui va rajouter ou pas des lignes. Si aucune ligne n'est rajoutée en B, je veux pouvoir supprimer la ligne de A
cs_eRoZion
Messages postés241Date d'inscriptionvendredi 23 mai 2003StatutMembreDernière intervention 8 octobre 20071 7 sept. 2004 à 15:24
Et bien si tu ne veux pas passer par l'emploi de tableau, tu n'as qu'à mettre uniquement ta dernière ligne dans un buffer à l'étape A pour ensuite l'écrire si nécessaire à l'étape B (au cas ou l'étape A est totalement indépendante de l'étape B, sinon meme pas besoin de buffer).
Autrement j'ai une solution qui marche sous windows.
Tu stoque en mémoire la taille de ta dernière ligne, puis tu te sers de "chsize" (io.h) pour raccourcir le fichier. Si tu ne trouve pas le handle nécessaire à "chsize" (si tu es passé par fopen) et bien tu te sers de "fileno" (stdio.h) pour le récupérer.