Ошибочное чтение

Имею файл типа

name          x          y         m
OPV1    5995709.165 5563309.024 0.2121
OPV2    5994826.922 5561499.601 0.0894
OPV3    5994030.833 5561611.114 0.0322
OPV4    5993206.394 5561920.504 0.0322

Считываю:

ifstream file("data.txt");
    string name;
    double x, y;
    double m;
    while (file >> name >> x >> y >> m)
    {
        meas.push_back(Meas());
        meas.back().name = name;
        meas.back().m = m;
    }

В векторе meas первый элемент инициализируется как "п»їOPV1". Не могу разобраться в причине.

Полный код:

struct Meas {
    string name;
    double m;
};

        int main()
    {
        setlocale(LC_CTYPE, "rus");
        vector<Meas> meas;
        ifstream file("data.txt");
        string name;
        double x, y;
        double m;
        while (file >> name >> x >> y >> m)
        {
            meas.push_back(Meas());
            meas.back().name = name;
            meas.back().m = m;
        }
        //... 
    }

Ответы (0 шт):