Невозможно открыть файл и прочитать из него - PullRequest
0 голосов
/ 18 февраля 2019

Я вызываю код с "temperatures.txt", который представляет собой файл в следующем формате:

-9,3 -15,1

-9,0 -14,1

..

..

Также temp является структурой с: int max, min;// температуры Последний вектор должен использоваться для заполнения двух open_polylines и построения графика с максимальными и минимальными температурами, но он создает пустое окно -> поэтому должно быть, что возвращаемый вектор (vec) пуст

istream& operator>>(istream& is, Temps& t){
    //assume format (max----min)
    string c1="    ";
    Temps tt;

    is >> t.max >> t.min;
    //return is;}
    t=tt;
    return is;
}

vector<Temps> readTemp(string fileName){
    ifstream temp_file{fileName};
    Temps t;
    vector<Temps> vec;
    if(!temp_file){
        error("Can't open ", fileName);
    }

    while(temp_file>>t){
        cout<<t.max << t.min;
        vec.push_back(t);
    }
    return vec;
}

1 Ответ

0 голосов
/ 18 февраля 2019

Этот код неверен

istream& operator>>(istream& is, Temps& t){
    //assume format (max----min)
    string c1="    ";
    Temps tt;

    is >> t.max >> t.min;
    //return is;}
    t=tt;
    return is;
}

Вы читаете температуры в t, но затем перезаписываете их с помощью tt.Просто сделайте это так, нет необходимости в tt (или c1).

istream& operator>>(istream& is, Temps& t){
    //assume format (max----min)
    return is >> t.max >> t.min;
}
...