Witam, program ma wypisywać z danego dnia temperaturę i deszcz. Problem w tym, że czasem deszcz w pliku jest zapisany jako np. "rain":{"3h":0.07}
, a czasem po prostu "rain":{}
. Nie mam pomysłu jak to uwzględnić w programie, pomocy.:)
void using_regex(string filename)
{
fstream plik;
plik.open(filename,ios::in);
if(plik.good()==false)
{
cout<<"Plik nie istnieje"<<endl;
exit(0);
}
string linia;
int licznik=0;
int licznik_dzien=22;
while(getline(plik, linia))
{
smatch mr;
smatch abc;
regex rx("\"temp\":\\d\\d\\d.\\d\\d");
regex rain("\"rain\":{\"3h\":\\d.\\d\\d}");//TUTAJ SIE ZACZYNA PROBLEM
regex deszcz("\"rain\":{}");
while( regex_search(linia, mr, rx))
{
regex_search(linia, abc, rain);
for(int i=0;i<mr.size();++i)
cout << "2015-12-"<<licznik_dzien<<" "<<licznik<<":00:00 " << mr[0]<<" and "<<abc[0]<< endl;
licznik=licznik+3;
if (licznik==24)
{
licznik=0;
licznik_dzien++;
}
linia=mr.suffix();
}
}
plik.close();
}
Początek pliku :):
:0.011,"cnt":40,"list":[{"dt":1450742400,"main":{"temp":281.67,"temp_min":280.681,"temp_max":281.67,"pressure":1023.42,"sea_level":1032.76,"grnd_level":1023.42,"humidity":93,"temp_kf":0.99},"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10n"}],"clouds":{"all":88},"wind":{"speed":9.21,"deg":242.005},"rain":{"3h":0.07},"sys":{"pod":"n"},"dt_txt":"2015-12-22 00:00:00"},{"dt":1450753200,"main":{"temp":282.28,"temp_min":281.34,"temp_max":282.28,"pressure":1022.48,"sea_level":1031.63,"grnd_level":1022.48,"humidity":93,"temp_kf":0.94},"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10n"}],"clouds":{"all":92},"wind":{"speed":11.22,"deg":252.002},"rain":{"3h":0.745},"sys":{"pod":"n"},"dt_txt":"2015-12-22 03:00:00"},{"dt":1450764000,"main":{"temp":283.5,"temp_min":282.616,"temp_max":283.5,"pressure":1024.23,"sea_level":1033.44,"grnd_level":1024.23,"humidity":92,"temp_kf":0.88},"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10n"}],"clouds":{"all":80},"wind":{"speed":9.06,"deg":271.5},"rain":{"3h":0.23},"sys":{"pod":"n"},"dt_txt":"2015-12-22 06:00:00"},{"dt":1450774800,"main":{"temp":283.44,"temp_min":282.614,"temp_max":283.44,"pressure":1026.11,"sea_level":1035.32,"grnd_level":1026.11,"humidity":91,"temp_kf":0.83},"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10d"}],"clouds":{"all":56},"wind":{"speed":7.16,"deg":267},"rain":{"3h":0.015},"sys":{"pod":"d"},"dt_txt":"2015-12-22 09:00:00"},{"dt":1450785600,"main":{"temp":284.48,"temp_min":283.712,"temp_max":284.48,"pressure":1025.76,"sea_level":1034.84,"grnd_level":1025.76,"humidity":93,"temp_kf":0.77},"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10d"}],"clouds":{"all":92},"wind":{"speed":7.02,"deg":249.001},"rain":{"3h":0.42},"sys":{"pod":"d"},"dt_txt":"2015-12-22 12:00:00"},{"dt":1450796400,"main":{"temp":283.