使用cstring头文件中的find函数进行模糊查找时出现奇怪的现象
void Studentmanage::Fuzzyfind() {
char f[100];
cout << "请输入关键字:" << endl;
cin >> f;
int cnt = 1;
for (int i = 0; i < n; i++) {
if (stu[i].Name.find(f) + 1) {//find函数包含头文件<cstring>,若找到返回第一次出现的位置下标,否则返回-1;
if (cnt == 1) {
cout << "相关学生信息如下:" << endl;
cout << "学号" << '\t' << '\t' << "姓名" << '\t' << "数学" << '\t' << "物理" << '\t' << "英语" << '\t' << endl;
}
cout << stu[i].Id << '\t' << stu[i].Name << '\t' << stu[i].Math << '\t' << stu[i].Physics << '\t' << stu[i].English << endl;
cnt++;
}
}if (cnt == 1){ cout << "没有与该信息匹配的学生,请重新输入!" << endl; return; }
return;//这里的结构体变量已经赋值,相关数据在文件里
模糊搜索“苏”会莫名其妙出现顾zhen,顾后面跟其他的名则不会显示
把顾真真换成顾甄,顾真都不行,想问一下大家是代码出了什么问题还是find函数有什么漏洞?