|
|
|
|
Bonjour,
le voila l algo il demande d sotker des enregisteremenr et puis supprimer et ajouter..mais mon blém c'est que quand je vais pour voir l fichier si il est creé j l trouve mais vide..sans enregistrement
#include<stdio.h>
#include<conio.h>
#include<io.h>
#include<stdlib.h>
/******************************************************/
/* Phase declaration de variable et d'initialisation */
/******************************************************/
FILE *flivre;
struct livre
{
int reflivre;
char tlivre[20];
int nbexp;
};
struct livre l1;
/*****************************************************/
/* Phase Traitements */
/*****************************************************/
int main()
{
if (fopen("d:\\livre.dat","a")==NULL)
{
printf("Le fichier n'a pu être ouvert");
exit(1);
}
printf("reference livre :");
scanf("%d",&l1.reflivre);
printf("titre livre : ");
scanf("%s",&l1.tlivre);
printf("nombre exp : ");
scanf("%d",&l1.nbexp);
printf("%d\n",l1.reflivre);
printf("%s\n",l1.tlivre);
printf("%d",l1.nbexp);
fwrite(&l1,sizeof(l1),1,flivre);
fclose(flivre);
return 0;
}
Configuration: Windows XP Internet Explorer 6.0
Salut,
if ((flivre=fopen("d:\\livre.dat","a"))==NULL)
Sinon, ce n'est pas du C++ mais du C ça ;). Pas besoin d'inclure conio.h, ni io.h. Et enfin, évite les variables globales. Ramène tout ça dans ton main ;) Cdlt Google is your friend |
Bizarre, car ce code marche sur ma machine :
#include <stdio.h>
#include <stdlib.h>
struct livre
{
int reflivre;
char tlivre[20];
int nbexp;
};
int main(void)
{
FILE *flivre;
struct livre l1;
flivre=fopen("ta.dat","a");
if(flivre==NULL)
{
printf("Le fichier n'a pu être ouvert");
exit(1);
}
printf("reference livre :");
scanf("%d",&l1.reflivre);
printf("titre livre : ");
//attention cela s'arrêtera au premier espace
//et si tu rentres 20 caractères ou plus, cela
//peut bugguer
scanf("%s",&l1.tlivre);
printf("nombre exp : ");
scanf("%d",&l1.nbexp);
printf("%d\n",l1.reflivre);
printf("%s\n",l1.tlivre);
printf("%di\n",l1.nbexp);
fwrite(&l1,sizeof(l1),1,flivre);
fclose(flivre);
return 0;
}
Google is your friend |
Oui, le fichier est bien présent physiquement. Il a un contenu binaire (le contenu de l'enregistrement), mais ceci est normal. D'ailleurs, tu devrais ouvrir le fichier en binaire avec le mode "ab".
|