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

时间:2015-12-02 23:28:46

标签: c++ string file search struct

我有一个包含两个名字的结构,但它们是字符形式 - 所以是一个数组 炭[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;
}

这可以编译,但不能完成我想要它做的事情。有人可以帮助。谢谢。

1 个答案:

答案 0 :(得分:0)

您当前的结构假定名称从数组的索引0开始。 我建议检查名称数组中的每个字符对着搜索名称的第一个字符,直到您点击名称数组的末尾或找到匹配项。如果找到匹配项,则检查名称数组中的剩余字符与搜索到的字符串中的下一个字符。 因为现在你所检查的是两个字符串都以相同的字母开头。 将名称hold的起始位置返回到第一个匹配的索引。 如果我的建议完全没有找到你想要的东西,你也可以使用strcomp()。