PB URGENT EN C

cs_mazo0012 Messages postés 8 Date d'inscription samedi 12 octobre 2002 Statut Membre Dernière intervention 8 février 2004 - 2 févr. 2004 à 20:42
cs_mazo0012 Messages postés 8 Date d'inscription samedi 12 octobre 2002 Statut Membre Dernière intervention 8 février 2004 - 3 févr. 2004 à 19:09
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

2 réponses

cs_Arnotic Messages postés 933 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 9 janvier 2012
3 févr. 2004 à 08:02
Bonjour,

Comme je l'ai dis avant hier sur le forum de VBFrance il suffit de charger le contenu de ton fichier en mémoire (ou en partie suivant ce que tu veux effectuer) dans une structure, ou autre, ...

Après tu supprimes, modifies, ajoutes, les datas que tu veux et tu reécris le fichier.

Pour certaines actions tu n'as pas besoin de lire le fichier mais juste d'écrire à la suite (ajout, certaines modifications, ...).

@+
Arnotic
Admin CS, MVP Visual C++
0
cs_mazo0012 Messages postés 8 Date d'inscription samedi 12 octobre 2002 Statut Membre Dernière intervention 8 février 2004
3 févr. 2004 à 19:09
merci beaucoup mais je voudrais avoir la syntaxe pour modifier l'enregistrement d'un fichier en langage C, si quelqu'un pouvait m'aider, ce serait vraiment gentil.
0
Rejoignez-nous