无法打开文件并从中读取

问题描述 投票:0回答:1

我用“Temperat.txt”调用代码,这是一个具有以下格式的文件:

-9.3 -15.1

-9.0 -14.1

..

..

temps也是一个结构: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;
}
c++ file ifstream istream
1个回答
1
投票

这段代码错了

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;
}
© www.soinside.com 2019 - 2024. All rights reserved.