c
MP3 ファイルを読み取り、TAG2 フィールドを出力するプログラムを作成しました。ソースコードは次のとおりです。
void main(void)
{
FILE *w;
char c[10]={0};
int ver, flag, size;
w=fopen("test.mp3,"rb");
fread(c,1,3,w);
printf("TAG2 identifier:%s\n",c);
fread(&ver,1,2,w);
printf("TAG2 version:%d\n",ver);
fread(&flag,1,1,w);
printf("Flags:%d\n",flag);
fread(&size,1,4,w); //????????
..........
}
サイズの各バイトの最上位ビットは 0 に設定されており、無視する必要があることを知っています。
しかしread()
、4 バイトのサイズを読み取ると、バイト順が逆になっているようです。サイズを正しいバイト順で読み取るにはどうすればよいですか?