c语言读取文件到结构体数组,有关文件读写到结构体数组问题;
該樓層疑似違規已被系統折疊?隱藏此樓查看此樓
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);
}
}
到后面的讀文件就會出問題了。
總結
以上是生活随笔為你收集整理的c语言读取文件到结构体数组,有关文件读写到结构体数组问题;的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sd_fusing.sh将uboot烧写
- 下一篇: matlab——度分秒与度的转换