将文件映射到结构数组的有效方法是什么?

Hak*_*ari 1 c memory arrays file

我的系统中有一个1024行的文件,

student_db.txt

    Name   Subject-1  Subject-2  Subject-3
    -----  ---------  ---------  ---------
    Alex     98         90         80
    Bob      87         95         73
    Mark     90         83         92
    ....     ..         ..         ..
    ....     ..         ..         ..
Run Code Online (Sandbox Code Playgroud)

我的C代码中有一个数组结构,

typedef struct
{
  char name[10];
  int  sub1;
  int  sub2;
  int  sub3;
} student_db;

student_db  stud_db[1024];
Run Code Online (Sandbox Code Playgroud)

读取此文件并映射到此结构数组的有效方法是什么?

如果参赛人数少那么我们可以去正常fgetswhile使用strtok,但这里的条目数为1024.

所以请建议一些有效的方法来完成这项任务.

ern*_*rn0 5

  1. 检查文件的大小,我认为,它是最大的.100 KByte.这实际上没什么,即使编写得很糟糕的PHP脚本也可以在几毫秒内读取它.加载如此少量的数据并没有缓慢的方法.

  2. 我假设,加载这个文件只是第一步,真正的任务是处理这个列表(搜索,过滤等).您应该专注于处理速度,而不是优化加载速度.

  3. 过早优化是邪恶的.制作一个未经优化的代码,看看你对结果和速度是否满意.可能你永远不应该优化它.