所以我尝试寻找与我的情况类似的东西,但我找不到任何有帮助或足够简单让我理解的东西。
我确信我的问题并不困难,但我不知道如何执行以下操作:
我有一个结构中的结构,需要将多个文件扫描到主结构中。 这就是我所拥有的,我陷入困境的点在于消息。我觉得我可能还需要一个结构,但我又不确定
这些是我的结构
typedef struct {
int year;
int month;
int day;
char time[9];
} datetime_t
typedef struct
{
datetime_t datetime;
double latitude;
double longitude;
double magnitude;
double depth;
char location[LOCATION]
} data_t
这是我的扫描文件
void scan_data(data_t Alaska[], data_t Central[],data_t Inner[],
data_t East[],data_t West[],data_t Canada[MAX_INFO])
{
int i=0;
FILE *FAlaska;
FILE *FCentral;
FILE *FInner;
FILE *FEast;
FILE *FWest;
FILE *FCanada;
FAlaska = fopen("Alaska.txt", "r");
FCentral = fopen("Central.txt", "r");
FInner = fopen("InnerMountain.txt", "r");
FEast = fopen("NorthEast.txt", "r");
FWest = fopen("NorthWest.txt", "r");
FCanada = fopen("NorthernCanada.txt", "r");
while (i < MAX_DATA &&
fscanf(FAlaska, "%s", data[i].datetime) !=EOF) /*here is my issue*/
{
fscanf(FAlaska, "d", data.latitude);
}
fclose(FAlaska);
return;
}
我不确定如何或是否可以将数据扫描到结构中的结构中? 你做数据[I].datetime.year吗? 或者将日期时间作为单独的数组/结构扫描,然后将其分配给更大的结构?
任何有关如何执行此操作的帮助将不胜感激。谢谢。
最佳答案
I am not sure how or if I can scan data into a structure within a structure? Do you do data[I].datetime.year?
是的,我们愿意。例如,如果您的日期/时间格式为“YYYY-MM-DD hh:mm:ss”,则可以使用
data = Alaska;
…
fscanf(FAlaska, "%d-%d-%d %8s", &data[i].datetime.year,
&data[i].datetime.month,
&data[i].datetime.day, data[i].datetime.time) …
关于c - 将文件扫描为嵌套结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27338412/