首页 > 解决方案 > 从带有索引的C文件中读取信息

问题描述

我有一个.dat文件,我以二进制模式打开它。

用户输入一个索引,我必须根据索引从这个文件中读取信息。

文件中的信息structstringlong int和组成float

我怎样才能做到这一点?

标签: cstructdeserialization

解决方案


用于fseek()转到文件中记录的位置。

struct data {
    char name[NAMESIZE];
    long var1;
    float var2;
};
...
struct data record;
FILE *f = fopen("filename.dat", "rb");
if (!f) {
    perror("Can't open filename.dat");
    exit(1);
}
fseek(index * sizeof(struct data));
fread(&record, sizeof(struct data), 1, f);

推荐阅读