如何在结构/文件中搜索名称

How to search for a name in a struct/file

本文关键字:搜索 文件 结构      更新时间:2023-10-16

我有一个包含两个名称的结构,但它们是字符形式的,所以数组char[2][10]它应该是两个最多十个字符长的名字。我想搜索一下它们。

    while (ans3==1)
{
    cout << "nPlease enter the name you want to search"
        <<endl;
    cin >> searchName;
    for (int i=0; i < size; i++)
    {
        cout <<"nsearching " <<endl;
        for (int k=0; k< 10; k++ )
        if ( MyData.name[i][k]==searchName[k])
        {
            cout << "nName was found at position "<< k <<endl;
        }
        else 
            cout << "nName not found at position " <<k <<endl;
    }
    cout << "nDo you want to search for a name? (1 for y, 2 for n)" <<endl;
    cin >> ans3;
}

这是编译的,但没有完成我想要它做的事情。有人能帮忙吗。谢谢

当前结构假设名称从数组的索引0开始。我建议将名称数组中的每个字符与搜索到的名称的第一个字符进行比较,直到找到名称数组的末尾或匹配项为止。如果找到匹配项,请将名称数组中的剩余字符与搜索字符串中的下一个字符进行比较。因为现在你要检查的是两个字符串是否都以同一个字母开头。要返回名称的起始位置,请按住第一个匹配项的索引。如果我的建议根本不是你想要的,你也可以使用strcomp()。