ecrire dans un fichier binaire - C - Programmation
Marsh Posté le 21-06-2005 à 13:33:06
certains le dirons mieux que moi, 'fin en général faut éviter de lire et écrire en même temps dans le même fichier, vaut mieux lire sur un, écrire sur un autre, et à la fin, tu renomme le nouveau avec le nom de l'ancien pour l'écraser.
Marsh Posté le 21-06-2005 à 13:39:12
demo2000 a écrit : |
Tant mieux. C'est un nid à catastrophes.
Marsh Posté le 21-06-2005 à 13:39:28
oui je sais avec :
Code :
|
mais dès fois on à besoin d'éspace alors ...
merci
Marsh Posté le 21-06-2005 à 13:40:41
demo2000 a écrit : Bonjour,
|
Ca veut dire quoi "j'arrive pas" .
A la fin de la lecture, il faut que tu te remette avec fseek au début, et tu écris dessus tes anciennes données, il n'y a pas de problème (sauf si tu réécris quelque chose de plus court que l'ancien fichier).
Marsh Posté le 21-06-2005 à 13:48:02
pascal_ a écrit : A la fin de la lecture, il faut que tu te remette avec fseek au début, et tu écris dessus tes anciennes données, il n'y a pas de problème (sauf si tu réécris quelque chose de plus court que l'ancien fichier). |
C'est un gros "sauf" qui contraint d'ores et déjà à passer par un autre fichier.
Mais surtout, il se passe quoi si le programme crash, pour une raison ou pour une autre, en plein traitement d'un fichier de données de quelques dizaines de méga ?
Ton code n'assure pas l'intégrité des données traitées, ce qui est potentiellement catastrophique. Et "potentiellement", en informatique, signifie "ça va arriver".
Marsh Posté le 21-06-2005 à 13:49:28
la fonction truncate, c'est pas standard ?
Marsh Posté le 21-06-2005 à 13:50:12
c.a.d :
quand je lance mon programme. j'aurais un seul fichier en sortie (resultat = source après traitement) et non 2 (source et resultat)
pascal_
Citation : |
justement la taille change
Merci encore
Marsh Posté le 21-06-2005 à 13:53:58
0x90 a écrit : la fonction truncate, c'est pas standard ? |
A priori, c'est POSIX, mais pas ANSI :
http://www.schweikhardt.net/identifiers.html
Citation : quand je lance mon programme. j'aurais un seul fichier en sortie (resultat = source après traitement) et non 2 (source et resultat) |
Une fois le second fichier généré, il suffit d'effacer le premier et de renommer le second.
Marsh Posté le 21-06-2005 à 13:30:02
Bonjour,
je fais des traitement sur un fichier binaire, et je met le resultat dans un autre fichier.
ça marche normal.
je voudrais faire les traitement et écrire dans le même fichier entrer (fichier source) j'arrive pas ?
Merci