ファイル解析サンプル
#include
int main(){
FILE *fp;
unsigned char buf[4];
int n,size,count,result;
int in;
for(n=0;n<10;n++){
printf("buf[%d] %x \n",n,buf[n]);
// buf[n]=0;
}
buf[7]=0;
if*1==NULL){
// if*2==NULL){
printf("file open err\n");
return;
}
// size = 1;
// fwrite(&size,sizeof(int),1,fp);
#if 1
count = fread(&in,sizeof(int),1,fp);
printf("int size %d \n",sizeof(int));
printf("read size %x \n",in);
// printf("read size %x \n",in[1]);
// printf("read size %x \n",in[2]);
// printf("read size %x \n",in[3]);
#else
for(;;){
count = fread(buf,1,4,fp);
printf("read size %d \n",count);
if(count){
size = 0;
size |= buf[0]<<24 ;
size |= buf[1]<<16;
size |= buf[2]<<8;
size |= buf[3];
printf("atom size %d \n",size);
fread(buf,1,4,fp);
printf("atom type %s\n",buf);
result = fseek(fp,size-8,SEEK_CUR);
printf("seek result %d \n",result);
// printf("ファイル位置 = %ld\n",ftell(fp));
}
else {
printf("file end\n");
break;
}
}
#endif
fclose(fp);
return;
}