gpt4 book ai didi

c++ - 部分名称搜索

转载 作者:太空宇宙 更新时间:2023-11-04 13:58:14 25 4
gpt4 key购买 nike

谁能给我一个例子,说明如何进行部分名称搜索或使搜索不区分大小写。我输入了这些函数以按姓氏进行搜索,但我想知道如何进行部分名称搜索/不区分大小写。谢谢

  int Search()
{
for(int i = 0 ; i < Size ; i++)
if (Target == List[i].LastName)
return i;
return -1;
}
void LookUp_Student()
{
string Target;
int Index;
cout << "\nEnter a name to search for (Last Name): ";
getline(cin,Target);
Index = Search(List,Size,Target);
if (Index == -1)
cout << Target <<" is not on the list.\n" ;
else
Print_Search(List[Index]);
}

最佳答案

您可以使用自定义函数来进行不区分大小写的字符串比较:

#include <algorithm>
//...
bool compare_str(const string& lhs, const string& rhs)
{
return lhs.size() == rhs.size() &&
std::equal(lhs.begin(), lhs.end(), rhs.begin(),
// Lambda function
[](const char& x, const char& y) {
// Use tolower or toupper
return toupper(x) == toupper(y);
}
);
}

然后像这样使用它:

if (compare_str(Target,List[i].LastName) )
{
// a match
}

引用:std::equal

关于c++ - 部分名称搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20451810/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com