私はid3フレームを読み込もうとしていますが、私の問題は完全なタイトルを得ることができないことです。 mp3のタイトルが長い場合、私の結果は終わりのない文字列で、最初の9文字は含まれません。曲のタイトルが短い場合、私の結果は最初の9文字のないタイトルです。id3v2のフレームを読むにはどうすればよいですか?
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);
はい!その通り!! – andrey
それはあなたを助けてうれし:)とにかく、あなたはid3libを試してみましたか? http://id3lib.sourceforge.net/成熟して広く使われているコードと思われます。 –