Mise à jour d'un fichier texte

Résolu
Neo020585 Messages postés 178 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 6 juillet 2009 - 1 févr. 2005 à 11:57
cs_Arnotic Messages postés 933 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 9 janvier 2012 - 1 févr. 2005 à 13:29
Bonjour à tous.

J'ai un fichier "liste.txt" qui contient une liste de chemin d'accès à des fichiers avec leur date de dernière modification :
ex. :
...
C:\Windows\Bureau\test.doc |01/02/05|
C:\Windows\Bureau\test2.xls |03/01/05|
C:\Windows\Bureau\test3.bmp |24/01/05|
...
J'aimerai pouvoir ajouter une ligne à ce document (à la fin ou au début, il n'y a pas d'importance).
Voici un bout du code :

FILE *fichier;
fichier = fopen("liste.txt", "wt");
fprintf(fichier, "%s |%s|\n", path, dte);
fclose(fichier)


Néo020585

La programmation, c'est l'art de découvrir

3 réponses

bayeto Messages postés 224 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 18 octobre 2010
1 févr. 2005 à 12:56
Une autre alternative serait de charger les lignes dans une liste chaînée (ou un tableau) de chaînes, travailler sur cette liste (ajout, suppression) et ensuite de l'ecrire dans le fichier.
Par contre la liste modifiée et plus petite que l'orgininal...Ah si ouvrir le fichier en création...
3
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
1 févr. 2005 à 12:28
Pour ajouter à la fin, il faut ouvrir le fichier en mode "a" ou "a+". les appels à fwrite et fprintf se feront à la fin.

Pour insérer au début c'est plus chaud. Il faut copier le fichire initial dans un fichier temporaire, écraser le fichier initial, mettre la ligne et recopier le contenu du fichier copié.
0
cs_Arnotic Messages postés 933 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 9 janvier 2012 1
1 févr. 2005 à 13:29
Bonjour,

Pour réaliser cela tu peux aussi utiliser les APIs Windows d'accès au fichiers :

CreateFile()
ReadFile()
WriteFile()
SetFilePointer()

Pour plus d'informations aller voir MSDN http://msdn.microsoft.com/library

@+
Arnotic,
Admin CS, MVP Visual C++
0
Rejoignez-nous