我有一个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以及如何初始化结构.. 任何想法?
答案 0 :(得分:0)
在纯C中,没有function
将任意数据读入数据结构。
您需要将文件中的每个字节读取到数据结构中的每个字节。如果它是32位整数,则可以一次读取4个字节;如果是8字节整数,则可以读取8个字节。除非你知道自己在做什么,否则不要将文件中的结构读入内存中的结构。
C中的库允许您阅读JSON等内容,但这些库隐藏了来自我们用户的过多复杂性。
答案 1 :(得分:0)
我认为更好的方法是使用fread()逐个读取内容然后进行初始化。