Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <sys/types.h>
- #include <fcntl.h>
- #include <unistd.h>
- struct _Data {
- int id;
- char text[30];
- };
- typedef struct _Data Data;
- int ouverture(const char* fichier);
- int ajoutData(int hdFile, Data* myData);
- int listeData(int hdFile);
- int main (void)
- {
- int hdFich, choix;
- Data myData;
- hdFich = ouverture("data.bin");
- do {
- printf("\n--- Menu ---\n");
- printf("1. Ajouter\n");
- printf("2. Lister\n");
- printf("3. Quitter\n");
- printf("Votre choix: ");
- scanf("%d", &choix);
- switch (choix)
- {
- case 1:
- printf("\n--- Ajout ---\n\n");
- printf("id: ");
- scanf("%d", &(myData.id));
- printf("texte: ");
- fflush(stdin);
- gets(myData.text);
- if(!ajoutData(hdFich, &myData))
- printf("Erreur d'ecriture dans le fichie r.\n");
- break;
- case 2:
- printf("\n--- Liste ---\n\n");
- listeData(hdFich);
- break;
- default:
- break;
- }
- }while(choix != 3);
- if(close(hdFich))
- printf("Erreur lors de la fermeture du fichier.\n");
- exit(0);
- }
- int ouverture(const char* fichier)
- {
- int hdFich;
- if ((hdFich = open(fichier, O_RDWR, 0700)) == -1)
- {
- printf("Le fichier n'existe pas, creation...\n");
- if ((hdFich = open(fichier, O_CREAT|O_RDWR, 0700)) == -1)
- {
- printf("Erreur lors de la creation du fichier.\n");
- exit(1);
- }
- }
- return hdFich;
- }
- int ajoutData(int hdFich, Data* myData)
- {
- return write(hdFich, myData, sizeof(Data));
- }
- int listeData(int hdFich)
- {
- int test;
- Data myData;
- while (read (hdFich, &myData, sizeof(Data)) == sizeof(Data))
- {
- printf("id: %d\n", myData.id);
- printf("texte: %s\n\n", myData.text);
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment