Код: Выделить всё
#include <cstdio>
#include <cstring>
struct tags
{
char tag[3];
char name[30];
char artist[30];
char album[30];
char year[4];
char comment[30];
char byte;
char track;
char style;
};
int main(void)
{
FILE *fp;
if((fp = fopen("m3.mp3", "rb")) == NULL)
{
printf("Error open file \n");
getchar();
return 1;
}
fseek(fp, -128, SEEK_END);
char ch, strt[4];
for(int i = 0; i <= 2; i++)
{
strt[i] = getc(fp);
}
strt[3] = '\0';
int t;
tags track;
printf("Title tag: %s \n", strt);
if(!strcmp(strt, "TAG")) //printf("YEAH");
{
for(t = 0; t < 30; t++)
{
track.name[t] = getc(fp);
}
for(t = 0; t < 30; t++)
{
track.artist[t] = getc(fp);
}
for(t = 0; t < 30; t++)
{
track.album[t] = getc(fp);
}
for(t = 0; t < 4; t++)
{
track.year[t] = getc(fp);
}
for(t = 0; t < 30; t++)
{
track.comment[t] = getc(fp);
}
track.name[30] = '\0';
track.artist[30] = '\0';
track.album[30] = '\0';
track.year[4] = '\0';
track.comment[30] = '\0';
printf("Track name: %s \n", track.name);
printf("Artist: %s \n", track.artist);
printf("Album: %s \n", track.album);
printf("Year: %s \n", track.year);
printf("Comment: %s \n", track.comment);
}
fclose(fp);
getchar();
return 0;
}
википедия
https://ru.wikipedia.org/wiki/ID3_(метаданные)