c - 从带有索引的C文件中读取信息
问题描述
我有一个.dat
文件,我以二进制模式打开它。
用户输入一个索引,我必须根据索引从这个文件中读取信息。
文件中的信息struct
由string
、long int
和组成float
。
我怎样才能做到这一点?
解决方案
用于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);
推荐阅读
- ms-word - 使用 OpenXML 在 MS Word 中添加/更新 TOC 时出现问题
- android - 使用 Koin 在运行时切换基本 url
- r - 从现有数据框列分配行名时出错
- visual-studio-code - 自定义模式的 Ctrl+Mouseover 上的自定义超链接
- javascript - 从 Jquery Returned Object 获取每个对象的返回数据
- javascript - discord.js-menu - 允许每个人反应/控制页面
- forms - 如何在同一屏幕上单击不同按钮时以本机反应显示不同的形式
- c - C中的关联性
- java - 为什么在单元测试期间我的 URL 中出现 %E2%80%8B
- regex - 捕获 [A-Z0-9]{6} - 但前提是它不是 \d{6}