This is what I settled on:
Code:
void searchRecords(std::ifstream &fin, std::string &searchString,
OldStudentData &obj, long recordNum)
{
fin.seekg(sizeof(OldStudentData) * recordNum, std::ios::beg);
fin.read((char *) &obj, sizeof(OldStudentData));
std::string personName(obj.studentname);
if(noCaseEqual(searchString, personName))
{
// Do some stuff in here!
}
}
bool noCaseEqual(const std::string &lhs, const std::string &rhs)
{
return lhs.size() == rhs.size()
&& std::equal(lhs.begin(), lhs.end(), rhs.begin(), noCaseEqualChar);
}
bool noCaseEqualChar(char lhs, char rhs)
{
return std::toupper(lhs) == std::toupper(rhs);
}
Thanks for all of the help! Any Ideas on refinement?