Lecture + écriture fichier .txt

Résolu
Blackmind Messages postés 95 Date d'inscription   Statut Membre Dernière intervention   -  
Blackmind Messages postés 95 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Une question qui peut sembler bête, mais je souhaiterai comprendre (je débute).
Pourquoi ne puis je pas écrire au fur et a mesure de la lecture de mon fichier en travaillant en "r+"? (Je test une sorte de condition de remplacement)

Cela me turlupine d'autant plus qu'en plaçant un "rewind", je peux écrire, au début du fichier.

Une alternative consisterai à écrire dans un second fichier au fur et à mesure de la lecture du premier mais à quoi sert le "r+" dans ce cas.

Merci par avance pour les réponses.

code :

#include <stdio.h>
#include <stdlib.h>

int main()
{
FILE *fichier = NULL ;
fichier = fopen("entree.txt","r+") ;
if (fichier != NULL)
{
if (fgetc(fichier)==',')
{
fputc('.',fichier);
}
fclose(fichier) ;
}
else
{
printf("erreur de chargement de fichier") ;
}

return 0;
}


A voir également:

2 réponses

fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Bonjour,

Tu ne peux pas alterner entre lecture et écriture sans précaution.
Utilise fseek(fichier,0,SEEK_CUR); juste avant ton fputc().
Ca devrait être mieux.

Cdlt,
0
Blackmind Messages postés 95 Date d'inscription   Statut Membre Dernière intervention   1
 
Merci pour les réponses
Avec fseek, effectivement, ça marche mais il faut pas mal jouer avec le curseur. J'ai finalement pris la méthode en écrivant dans un second fichier car cela me semble plus rapide mais surtout plus clair quand on relit le code.
0