// Struct_Mp3.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<stdio.h>
#include<stdlib.h>
int _tmain(int argc, _TCHAR* argv[])
{
struct MUSIC_TITAL_INFO
{
char ID3v1TAG[3];//存储标题信息
char Artist[30]; //存储歌手信息
char Album[30]; //存储专辑信息
char YEAR[4]; //存储年代信息
char Comments[28]; //存储备注信息,28个字节(有时为字节)
char Genre; //存储音乐风格信息,保留位,个字节
char Reserved; //保留位,个字节(有时没有意思
char Track; //音轨(曲号)保留位,个字节(有时没有)
};
struct MUSIC_TITAL_INFO music_mp3={0,0,0,0,0,0};
char music_buf[128]={0};
char filename[80] = "E://test.mp3";
FILE *fp_mp3;
fp_mp3 = fopen( filename, "rb" ) ;
//打开失败
if(fp_mp3 == NULL )
{
printf("Open failed! Try it again!");
getchar();
return -1;
}
//打开成功
fseek(fp_mp3,-128,SEEK_END);
if( fread(music_buf,128,1,fp_mp3 ) == 0)//读入标签
{
printf( "fgets error/n" );
}
else
{
memcpy(&music_mp3,music_buf,sizeof(music_mp3));
printf( "歌曲标签:%.3s/n歌 手: %.30s/n专 辑: %.30s/n年 代: %.4s/n备 注: %.28s/n",
music_mp3.ID3v1TAG,
music_mp3.Artist,
music_mp3.Album,
music_mp3.YEAR,
music_mp3.Comments);//注意“.”的用法。
}
fclose(fp_mp3);
printf("Press any key to continue....");
getchar();
return 0;
}