[求编程高手]我试图用C语言编写一个程序读取"srztext.img"这种格式文件里的数据,但读不出来,没头绪.
是不是要先知道.img里的数据结构是怎样的,才能正确读出来?#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void main()
{
char path[30]={"srztext.img"};
//int data[30];
int value;
FILE*fp;
if((fp=fopen(path,"rb"))==NULL)
{
printf("can not open!");exit(0);
}
for(int i=0;i<100;i++)
{fread(&value,4,20,fp);//
fread(data,4,20,fp);
printf("%d\t",value);
}
}
也许这个srztext.img是内存映射文件。例如linux下面的nmap系统函数,或者win下面也有一个memfile之类函数。这种函数通过文件句柄将内存数据flush快速写入。如果你不知道具体的struct,数据边界不容易解析。即便解析出来可能也是乱码。