Salut!!
Voila j'ai un petit souci, je voudrais savoir comment supprimer des données dans un fichier je m'explique j'ai une structure ordinateur contenant ( le type de processeur, la vitesse,la memoire et l'année d'acquisition) qui sont stockés dans un fichier)
je souhaite supprimer un ordinateur du fichier seulement je n'y arrive pas!!!

voila ma fonction suppression

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
void supprimer(char nomFichier[20])
{
FILE *fic;
ordinateur o;
 
int ordiTrouve=0;			//Variable permmettant de savoir si l'ordi a ete trouve
char procrecherche[20]; 		//Saisie du type de proc a recherché
char vitproc[20];			//Saisie de la vitesse du proc recherché
char mvive[20];				//Saisie de la mvive recherché
char dd[20];				//Saisie du disque dur recherché
char annee[20];				//Saisie de l'année recherché
 
 
printf("Veuillez re-saisir les caractèristiques de l'ordinateur à supprimer?\n");
 
printf("Type de processeur : \n");
gets(procrecherche);
 
printf("Vitesse du processeur : \n");
gets(vitproc);
 
printf("Quantité de mémoire vive : \n");
gets(mvive);
 
 
printf("Espace du disque dur : \n");
gets(dd);
 
printf("Année d'acquisition : \n");
gets(annee);
 
fic=fopen(nomFichier ,"r+");
//Test d'erreur
if(fic==NULL)
	puts("Erreur lors de l'ouverture du fichier");
else
	{
	while(fread(&o,sizeof(ordinateur),1,fic) && !feof(fic))
		{
		if(strcmp(o.typeproc,procrecherche)==0)
			if(strcmp(o.vitproc,vitproc)==0)
				if(strcmp(o.mvive,mvive)==0)
					if(strcmp(o.dd,dd)==0)
						if(strcmp(o.annee,annee)==0)
							{
							fseek(fic,-sizeof(ordinateur),SEEK_CUR);