您好我有一个包含城市,日期和温度的文本文件。我怎样才能从特定的城市和白天读取温度?例如,如果我搜索Alingsås2014-05-14,我需要得到13.81,11.59和13.81。我坚持的部分是在我打开文件并为城市和日期放置变量之后。信息存储在文本文件中,如下所示:
Alingsås;
2014-05-14;
13.81;
11.59;
13.81;
2014-05-15;
8.89;
7.99;
9.15;
2014-05-16;
6.2;
5.07;
6.58;
2014-05-17;
7.91;
5.55;
7.91;
2014-05-18;
7.76;
5.95;
7.76;
2014-05-19;
7.95;
6.91;
9.72;
2014-05-20;
18.45;
12.92;
18.45;
Arboka;
2014-05-14;
9.55;
4.53;
10.66;
2014-05-15;
6.33;
1.5;
9.37;
2014-05-16;
8.85;
3.4;
12.08;
2014-05-17;
14.01;
4.8;
15.4;
2014-05-18;
14.16;
6.35;
17.23;
2014-05-19;
21.39;
14.57;
21.39;
2014-05-20;
23.34;
14.82;
23.34;
我的代码到目前为止
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <locale.h>
#include <string.h>
int main(void)
{
FILE * fp;
char c;
// open file
fp =fopen("C:\\Users\\Karl\\Desktop\\info.txt", "r");
if (fp != NULL)
{ char city[10] = "Ålingsås";
int temp1;
int temp2;
int temp3;
char date[13] = "2014-05-14";
答案 0 :(得分:2)
一种解决方案是创建一个包含城市名称的结构,以及指向另一个结构的指针,该结构将是一个&#34;数组&#34; (在堆上动态分配)以及每个条目包含数据和三个温度的位置。
然后从文件中一次读取一行,修剪输入(删除前导和尾随空格,如果有的话)并创建上述结构。如果当前行以数字开头,则表示日期并再读取三行温度并填写结构。如果当前行没有以数字开头,那么您将拥有一个新城市,并创建一个新的城市结构。