У меня есть файл:Использование GetLine разделить строку и проверить Int
name1 8
name2 27
name3 6
и я разбор его в вектор. Это мой код:
int i=0;
vector<Student> stud;
string line;
ifstream myfile1(myfile);
if (!myfile1.is_open()) {return false;}
else {
while(getline(myfile1, line)) {
istringstream iss(line);
stud.push_back(Student());
iss >> stud[i].Name >> stud[i].Grade1;
i++;
}
myfile1.close();
}
Мне нужно проверить, нет ли шпильки [i] .Grade1. Если он не возвращает false. Файл может содержать:
name1 haha
name2 27
name3 6
Как я могу это сделать?
EDIT:
Я попробовал другой путь (без GetLine) и, кажется, работает. Я не понимаю, почему:/
int i=0;
vector<Student> stud;
ifstream myfile1(myfile);
if (!myfile1.is_open()) {return false;}
else {
stud.push_back(Student());
while(myfile1 >> stud[i].Name) {
if(!(myfile1 >> stud[i].Points1)) return false;
i++;
stud.push_back(Student());
}
myfile1.close();
}
http://stackoverflow.com/questions/2844817/how-do-i-check-if-ac-string-is-an-int –