所以我尝试过寻找与我的情况相似的东西,但是我找不到任何有用的东西,或者我觉得这很简单。
我的问题我确定并不困难,但我不知道如何做到以下几点:
我在结构中有一个结构,需要将多个文件扫描到主结构中。 这就是我所拥有的,而我被卡住的重点在于消息。我觉得我可能需要一个更多的结构,但我不确定
这些是我的结构
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? 或者作为单独的数组/结构扫描到datetime,然后将其分配给更大的结构?
任何帮助将非常感谢如何做到这一点。谢谢。
答案 0 :(得分:0)
我不确定如何或者是否可以将数据扫描到a中的结构中 结构体?你做数据[I] .datetime.year?
是的,我们这样做。例如,如果您的日期/时间格式为&#34; YYYY-MM-DD hh:mm:ss&#34;,则可以使用
data = Alaska;
…
fscanf(FAlaska, "%d-%d-%d %8s", &data[i].datetime.year,
&data[i].datetime.month,
&data[i].datetime.day, data[i].datetime.time) …