【发布时间】:2012-09-11 06:11:13
【问题描述】:
我编写了一个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个字节时,字节序是颠倒的。
如何以正确的字节顺序读取大小?
【问题讨论】:
-
与其自己阅读标签,不如使用id3lib这样的现有库?