Remplacement de chaines de caractères dans un fichier
tigerskin
Messages postés39Date d'inscriptionjeudi 26 mai 2005StatutMembreDernière intervention24 juillet 2012
-
12 mai 2006 à 15:02
cs_laurent1024
Messages postés987Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention30 août 2012
-
12 mai 2006 à 16:20
Bonjour !!!
J'ai un problème : je souhaite réécrire une donnée dans un fichier par-dessus une autre donnée...le programme entre bien dans la condition (affichage d'une message box de test), accède bien au fichier (date de dernier accès correspond) mais ne récrit rien :(
Voila le code :
void COutil::WritePreusureInFile(char* diametre,int newpreusure)
{
FILE *fichier;
char diametre_fichier[5]={NULL},buffer[15]={NULL};
float diam1=0.00,diam2=0.00;
fichier=fopen("outil.cfg","r+");
if (fichier==NULL)
MessageBox(NULL,"Le fichier outil.cfg est introuvable","Erreur",MB_ICONSTOP);
else
{
for (int i=0;i<3;i++)
{
fscanf(fichier,"%s",&buffer);
}
cs_laurent1024
Messages postés987Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention30 août 201225 12 mai 2006 à 16:20
Je pense que dans ton cas tu aurait interet a travailler avec un fichier temporaire pour la modification des valeurs et de faire un rename("outil.tmp", "outil.cfg");
De plus quand tu fais des fscanf, je pense que le pointeur de fichier ce décale dans le fichier et donc tu récrit pas les données au même endroits