小编Lov*_*ink的帖子

使用fread/fwrite在C中读取和写入文件的结构

我有以下结构:

typedef struct {
  char last[NAMESIZE];
  char first[NAMESIZE];
} name;

typedef struct {
  int id;
  name name;
  float score;
} record;

typedef struct {
  record *data;
  size_t nalloc;
  size_t nused;
} record_list;
Run Code Online (Sandbox Code Playgroud)

我试图使用此函数从文件中读取记录:

int file_read(record_list *list, record* rec)
{
  /* irrelevant code eliminated */

  while(fread(&records, sizeof(record), 1, fp))
  {
    *rec = records;
    valid_list_insert = list_insert(list, rec);
    if(!valid_list_insert)
    {
      return 0;
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用此函数将record_list写入文件:

int file_write(record_list* list)
{
  /* irrelevant code eliminated */

  if(fwrite(&list, sizeof(record_list), 1, fp) == 0)
  { …
Run Code Online (Sandbox Code Playgroud)

c struct structure fwrite fread

1
推荐指数
1
解决办法
9103
查看次数

标签 统计

c ×1

fread ×1

fwrite ×1

struct ×1

structure ×1