Rhazou
Messages postés31Date d'inscriptionjeudi 30 novembre 2000StatutMembreDernière intervention21 juillet 2009
-
7 mars 2006 à 18:56
Rhazou
Messages postés31Date d'inscriptionjeudi 30 novembre 2000StatutMembreDernière intervention21 juillet 2009
-
9 mars 2006 à 16:52
bonjour,
J'ai un petit probleme concernant les flux entré/sortie.
j'aimerais replacer un ligne par une autre dasn un fichier.
je cherche depusi un moment masi sans resultat
seekg permet de se position a un octet défini et non pas a une ligne.
j'utilise ofstream masi peut etre aurai-je besoin de strstream
j'au aussi essayer de l'utiliser comme un ifstream ligne par ligne mais sans succes avec ce code :
nwe
Messages postés18Date d'inscriptionmardi 31 janvier 2006StatutMembreDernière intervention19 novembre 2006 9 mars 2006 à 07:49
Il te suffit d' initialiser un compteur de ligne à 0 et de lire ton fichier caractère par caractère puis tu mets ces caractères dans un fichier temporaire de même
type que ton fichier source tout en incrémentant le compteur à chaque fois que tu rencontre un \n jusqu à ce que tu ais atteind la fin tu fichier ou le compteur soit égal à N-1 si c'est le cas tu ignores( ne les mets pas dans le fichier temporaire) tout ce que tu lis jusqu' au prochain \n ou eof
Puis tu mets le texte par lequel tu veux remplacer ta N ième ligne dans le fichier temporaire.
Ensuite tu mets les caractères restant( ie à partir de l' événtuelle N+1 ième ligne jusqu' a la fin du fichier)dans le fichier temporaire
tu renomme le fichier temporaire en ton fichier d' orgine et tu supprime le fichier tempo.
a+