该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
typedef struct IMG
{
char *name;
int weight;
int height;
}IMG;
这是我的结构体存的是 图片的名字 宽度 高度
void readWeightHeight(void)
{
FILE *fpbmp;
//FILE *fpm;
char filename[54];
char *bmpname =NULL;
long Handle;
int i = 0;
struct _finddata_t FileInfo;
if ((Handle = _findfirst("D:\\240\\*.bmp", &FileInfo)) == -1L)
printf("Cannot open file\n");
else
{
//printf("%s\n", FileInfo.name); 目录下的文件
do
{
sprintf(filename, "D:\\240\\%s", FileInfo.name);
fpbmp = fopen(filename, "r");
img[i].name = (char *)malloc(strlen(FileInfo.name)+1);//这里我不给结构体里面的指针分配内存 数据得不到内存(这样做是为了节省内存)
strcpy(img[i].name, FileInfo.name);
fseek(fpbmp, 18L, 0);
fread(&img[i].weight, 4, 1, fpbmp); //fread(&wight, 4, 1, fpbmp);
fseek(fpbmp, 22L, 0);
fread(&img[i].height, 4, 1, fpbmp); //fread(&hight, 4, 1, fpbmp);
//printf("name %s w:%d h:%d \n", img[i].name, img[i].weight, img[i].height);
i++;
} while (_findnext(Handle, &FileInfo) == 0);
_findclose(Handle);
}
}
到后面的读文件就会出问题了。