读取二进制文件的代码…有的地方不理解求解答
#include <stdio.h>#include <stdlib.h>
struct node
{
int num;
char name;
}node[10000];
void main()
{
FILE *fp;
if((fp=fopen("Encode1.da","rb"))==NULL)
{
printf("cannot open this file\n");
exit(0);
}
int n=0;
while(!feof(fp))
{
fread(&node[n].name,sizeof(node[n].name),1,fp);
fread(&node[n].num,sizeof(node[n].num),1,fp);
n++;
}
int i,j,k;
char t;
for(i=0;i<n;i++)
{
for(j=0;j<n-i;j++)
{
if(node[j].num>node[j+1].num)
{
k=node[j].num;node[j].num=node[j+1].num;node[j+1].num=k;
t=node[j].name;node[j].name=node[j+1].name;node[j+1].name=t;
}
}
}
for(i=0;i<=n;i++)
printf("%c",node[i].name);
fclose(fp);
}
这是一个读取二进制文件的代码…最后一部分的排序看不大懂…求指点…读取出来时一首歌的歌词…