begin process at 2008 07 06 00:07:27
1 205 401 membres
368 nouveaux aujourd'hui
14 119 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : pb modif fichier en c [ Archives / Au secours ] (mazo0012)

pb modif fichier en c le 06/02/2004 01:42:12

mazo0012
Bonjour tout le monde

voila, j'aimerais savoir comment modifier et supprimer un enregistrement de fichier en langage C, si quelqu'un pouvait m'aider, ce serait sympa.

J'ai deja essayé avec fseek et fwrite mai le pb est ek ca me cree une ligne en + donc jai toujour 2 ligne je ne sai pk

pointeur=fopen("ficpatient", "rt");
fread(&strpatient, sizeof(strpatient), 1, pointeur);

while (!feof(pointeur))
{
if (strcmp(strpatient.nom, nom)==0 && strcmp(strpatient.prenom, prenom)==0 && strcmp(strpatient.datenaiss, datenaiss)==0)
{
existe=1;
position=strpatient.num_patient;
}

fread(&strpatient, sizeof(strpatient), 1, pointeur);
}

fclose(pointeur);

if (position!=0)
{
pointeur=fopen("ficpatient", "r+t");

if (strcmp(nom,"")!=0) {
strcpy(strpatient.nom, nom); }
if (strcmp(prenom,"")!=0) {
strcpy(strpatient.prenom, prenom); }
if (strcmp(datenaiss,"")!=0) {
strcpy(strpatient.datenaiss, datenaiss); }
if (strcmp(adresse,"")!=0) {
strcpy(strpatient.adresse, adresse); }
if (strcmp(cp,"")!=0) {
strcpy(strpatient.cp, cp); }
if (strcmp(ville,"")!=0) {
strcpy(strpatient.ville, ville); }
if (strcmp(tel,"")!=0) {
strcpy(strpatient.tel, tel); }
if (strcmp(numss,"")!=0) {
strcpy(strpatient.numss, numss); }

fseek(pointeur, sizeof(strpatient)*(position), SEEK_SET);
fwrite(&strpatient, sizeof(strpatient), 1, pointeur);

printf("\nLes coordonnees du patient %d ont ete modifiees.\n", strpatient.num_patient);
fclose(pointeur);


merci d'avance a tou ceux ki pouron maider

@+++++++

mika

Re : pb modif fichier en c le 06/02/2004 12:07:50

pheno
Salut
t as deja posé la question.
en fait tu dois parcourir ton fichier en entier.
c est à dire tu lis enregistrement par enregistrement
et tu compares à chaque fois
exple:

fread(&strpatient, sizeof(strpatient), 1, pointeur);

while (!feof(pointeur))
{
//fonction qui teste si les valeurs sont identique
//et tu fais ta suppression ou ta modification
compare(strpatient, buffer);
fread(&strpatient, sizeof(strpatient), 1, pointeur);
}

c est ca l idee
@++

Chevalier Pheno Starboard, membre de la Freeman-Corp


Classé sous : pointeur, prenom, strcpy, strcmp, strpatient

Participer à cet échange

Livres en rapport

Pub



Appels d'offres

Plugin Dialer outlook
Budget : 2 000€
Travail graphique- ill...
Budget : 1 000€
creation de marque et ...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS