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
|
// Extraction TAG des MP3 - NE FONCTIONNE PAS
void Extraction(char *nomfichier)
{
FILE *ptr_fichier;
char *ptr_poubelle;
char LONGUEUR[0];
char ID[2];
char TITRE[3];
int taille;
char titrecomplet[15];
char artistecomplet[15];
char albumcomplet[15];
// ouverture du fichier en lecture
ptr_fichier=fopen(nomfichier,"r");
if (ptr_fichier == NULL)
{
perror("Erreur douverture du fichier") ;
exit(0) ;
}
// le fichier est trouvé
else
{
// lecture des 3 premiers caractères du fichiers mp3 : ID3
fread(ID,sizeof(char),3,ptr_fichier);
strcat(ID,"\0");
printf("ID : %s \n",ID);
// on passe la version, le flag et la taille du tag pour le moment
fread(ptr_poubelle,sizeof(char),7,ptr_fichier);
// Lecture de 4 caractères du fichier mp3 : TIT2
fread(TITRE,sizeof(char),4,ptr_fichier);
strcat(TITRE,"\0");
printf("TITRE : %s \n",TITRE);
// on passe le flag
fread(ptr_poubelle,sizeof(char),3,ptr_fichier);
//PROBLEME
// lecture de la taille du titre sur 2 caractères en hexa. : ne fonctionne pas correctement
fread(LONGUEUR,sizeof(char),1,ptr_fichier);
strcat(LONGUEUR,"\0");
printf("Taille : %s \n",LONGUEUR);
// convertion de la taille du titre en hexa en decimal : ne fonctionne pas
taille = strtoul(LONGUEUR, NULL, 16);
// Affichage de la taille du titre
printf("Taille du titre : %d \n",taille);
// FIN DU PROBLEME
/*
// On passe le flag
fread(ptr_poubelle,sizeof(char),3,ptr_fichier);
// on lit le titre sur la taille trouvé précédement
fread(titrecomplet,sizeof(char),(taille-1),ptr_fichier);
// affichage du titre complet
printf("Titre du morceau : %s \n",titrecomplet);
*/
}
fclose(nomfichier);
} |
Partager