gpt4 book ai didi

c - 从文件中读取数据到结构数组中

转载 作者:行者123 更新时间:2023-11-30 17:52:44 24 4
gpt4 key购买 nike

嗨,我正在尝试将文件中的数据读取到结构数组中,我尝试使用 fgets 但收到错误消息,指出 RECORD 类型无法转换为 char* 这是我迄今为止所拥有的

#include <stdio.h>
#include <stdlib.h>

#define MAX_NAME 20
#define FILE_NAME 50
#define LIST_SIZE 50
//void getData(RECORD name[], RECORD score)


typedef struct RECORD
{
char *name;
float score;
}RECORD;


int main (void)
{
// Declarations
FILE *fp;
char fileName[FILE_NAME];
RECORD list[LIST_SIZE];
int count = 0;
// Statements
printf("Enter the file name: ");
gets(fileName);

fp = fopen(fileName, "r");

if(fp == NULL)
printf("Error cannot open the file!\n");
while (fgets(list[count], LIST_SIZE, fp) != NULL)
{
count++;
}
return 0;
}

错误发生在 while 循环内的 fgets 语句中,我该如何修复此问题并将数据读取到结构数组中?

提前致谢

最佳答案

fgets用于从文本文件中以行为单位输入字符串。

例如)

char input_line_buff[128];
fgets(input_line_buff, 128, fp);

读入

input_line_buff:(内容例如)“name 66.6\n”

您执行 split 、内存分配和复制以及转换。

例如)

list[count].name = strdup("name");
list[count].score= atof("66.6");
count++;

关于c - 从文件中读取数据到结构数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15985010/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com