我正在尝试阅读 id3 帧,但我的问题是我无法获得完整的标题。当 mp3 的标题很长时,我的结果是没有结尾且没有前 9 个字符的字符串。如果歌曲的标题很短,我的结果是没有前 9 个字符的标题。
struct ID3V2frame
{
char header[4];
char *id3frame[readBytes];
int sizze[4];
}frame;
fseek(file,10,SEEK_SET); // skip id3 header
fread(&frame.header,sizeof(frame),1,file);
readBytes = ((frame.sizze[0] & 127) << 21) |
((frame.sizze[1] & 127) << 14) |
((frame.sizze[2] & 127) << 7) |
(frame.sizze[3] & 127);
fread(&frame.id3frame,sizeof(frame),1,file);
if(strncmp(frame.header,"TIT2", 4) == 0)
printf("%s",frame.id3frame);