私はファイルを持っています:
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();
}
stud[i].Grade1がintであるかどうかを確認する必要があります。そうでない場合は、falseを返します。ファイルには次のものを含めることができます。
name1 haha
name2 27
name3 6
どうすればいいですか?
編集:
私は別の方法(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();
}