gpt4 book ai didi

c - 如何从文件 C 初始化结构体?

转载 作者:行者123 更新时间:2023-11-30 20:36:04 25 4
gpt4 key购买 nike

我有一个txt文件:

http://www.siz.co.il/my.php?i=znzwlnkn2fmq.png

我有我的结构:

typedef struct _car_s
{
char destination[50];
int priority;
struct _car_s *next;
int number_id;

}car_s, *p_car_s;

typedef struct _station_s
{
struct _station_s *waiting;
char nameofstation[50];
struct _station_s *detached;

}station_s, *p_station_s;

我想利用您的帮助来弄清楚如何从文件中初始化我的车站和汽车,这是推荐的功能。提前致谢,祝您有美好的一天。

编辑:

我做了一个文件读取功能:

int read_files(char* filename, p_car_s cars, p_station_s station)
{

FILE* myFile;
char buff[1024];
myFile = fopen(filename, "r");
if(NULL == myFile)
{
printf("\n fopen() Error!!!\n");
return 0;
}
while (fgets(buff, 1024, myFile) != NULL)
{
handle_line(buff, cars, station);
}


if(fclose(myFile) == 0 )
{
buff[0]='\0';

}
}

但我似乎无法想到如何处理函数 Handle_line 以及如何初始化结构。有什么想法吗?

最佳答案

在纯 C 语言中,不存在将任意数据读取到数据结构中的函数

您需要将文件中的每个字节读入数据结构中的每个字节。如果是 32 位整数,则一次可以读取 4 个字节;如果是 8 字节整数,则可以一次读取 8 个字节。除非您知道自己在做什么,否则不要将文件中的结构读入内存中的结构。

C 语言中有一些库允许您读取 JSON 等内容,但这些库对我们用户隐藏了过多的复杂性。

关于c - 如何从文件 C 初始化结构体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36819982/

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