c - 将文件扫描为嵌套结构

标签 c data-structures nested scanf

所以我尝试寻找与我的情况类似的东西,但我找不到任何有帮助或足够简单让我理解的东西。

我确信我的问题并不困难,但我不知道如何执行以下操作:

我有一个结构中的结构,需要将多个文件扫描到主结构中。 这就是我所拥有的,我陷入困境的点在于消息。我觉得我可能还需要一个结构,但我又不确定

这些是我的结构

 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/

相关文章:

c - 为什么我的 wc 实现差了一个字?

C99:记录线程安全的受限指针?

c - 有谁知道如何阻止 GTK g_type_init() 出现

java - 如何从卡片列表中生成所有唯一的卡片对?

java - 寻找一种设计模式来定义进行一组 API 调用并在之后采取行动的各种任务

C如何显示所有未使用的函数(包括h文件中定义的函数)

java - 通用链表的并行排序

python - 如何在 python 中解压嵌套元组?

javascript - 提取两个对象(甚至嵌套对象)之间不同的键值有什么方法?

python - 在 Python 中动态更改未知深度的嵌套列表中的特定项目