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 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
| #include <stdio.h>
#include <stdlib.h>
#include <sys/wait.h>
#include <unistd.h>
#include <sys/types.h>
#include <string.h>
void menu ();
int main (int argc, char * argv[]){
char fichier_Ndat[20] = "entier.dat";
FILE * fichier_dat;
char c = ' ';
while (1){
int i;
menu();
c = tolower(getchar());
switch (c) {
case 'f' :
printf("\033[H\033[2J");
printf ("Nommer le fichier\n");
char nouveau_nom[10];
scanf("%s.dat", &nouveau_nom);
rename(fichier_Ndat, nouveau_nom);
break;
case 'c' :
printf("\033[H\033[2J");
printf ("Remplissage du fichier binaire avec 100 int aléatoire\n");
if ((fichier_dat = fopen(fichier_Ndat,"wb"))==NULL) {
perror("Write ");
exit(1);
}
int u;
for (i=0;i<100;i++){
//fread (&u, sizeof (int),1,fichier_alea);
u = random() % 1000+1;
fwrite(&u,sizeof(int),1,fichier_dat);
}
fclose(fichier_dat);
break;
case 'a' :
printf("\033[H\033[2J");
printf ("Lecture du fichier binaire de 100 int aléatoires\n");
if ((fichier_dat = fopen(fichier_Ndat,"rb"))==NULL) {
perror("Read ");
exit(1);
}
i=0;
//while (fgets(&u, 8, fichier_dat) != NULL) {// On lit le fichier tant qu'on ne reçoit pas d'erreur (NULL)
while (fread(&u,(sizeof(int)/4),1,fichier_dat)){
printf("N%d: %x\n",i++,u);
}
fclose(fichier_dat);
break;
case 'd' :
printf("\033[H\033[2J");
printf ("Lecture du fichier binaire de 100 int aléatoires\n");
if ((fichier_dat = fopen(fichier_Ndat,"rb"))==NULL) {
perror("Read ");
exit(1);
}
i=0;
while (fread(&u,sizeof(int),1,fichier_dat)){
printf("N%d: %d\n",i++,u);
}
fclose(fichier_dat);
break;
case 'e' :
printf("\033[H\033[2J");
printf ("Lecture du fichier binaire de 100 int aléatoires\n");
if ((fichier_dat = fopen(fichier_Ndat,"rb"))==NULL) {
perror("Read ");
exit(1);
}
i=0;
while (fread(&u,sizeof(int),1,fichier_dat)){
printf("N%d: %x\n",i++,u);
}
fclose(fichier_dat);
break;
case 'k' :
printf("\033[H\033[2J");
remove(fichier_Ndat);
break;
case 'q' : //Fin = vrai;
//break;
exit(0);
default: break;
}
}
exit(0);
}
void menu (){
printf ("----\n");
printf ("Menu\n");
printf ("----\n\n");
printf ("\tF: Nommer le fichier\n");
printf ("\tC: Créer un fichier binaire contenant 100 int aléatoires\n");
printf ("\tA: Afficher le fichier en hexadécimal, octet par octet\n");
printf ("\tE: Afficher le fichier en hexadécimal, entier par entier\n");
printf ("\tD: Afficher le fichier en décimal, entier par entier\n");
printf ("\tK: Détruire le fichier\n");
printf ("\tQ: quitter\n");
printf ("----\n\n");
printf ("Entrez votre choix: ");
} |
Partager