关于c ++:如何在向量中查找特定字符串并在if语句中使用它

how to find a specific string in a vector and use it in an if statement

本问题已经有最佳答案,请猛点这里访问。

这就是我的向量的起点:

1
2
3
vector<string> inventory;
inventory.push_back("sword");
inventory.push_back("armor");

此游戏的玩家将能够使用此代码块选择三个项目中的两个:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
while(paid < 2)
{
    cout <<"choice:";
    cin >> equip;
    ++paid;
    inventory.insert(inventory.begin(), equip);
}

if(paid == 2)
{
    cout <<"
You are out of money
"
;
}

然后有一个字符,如果您购买了某个库存项目,它将与之交互。

1
2
3
4
5
6
7
8
9
if((bazaar =="woman") || (bazaar =="WOMAN"))
{
    cout <<"you approach the woman, and she gives you a look.";

    if(...)
    {

    }
}

在第二个if语句中,我希望能够检查库存向量中的字符串,并根据该字符串是否在某个向量中,有两个不同的事情发生。

(作为旁注,这是在控制台窗口中播放的基于文本的游戏的代码)


1
2
if(std::find(inventory.begin(), inventory.end(), std::string("sword")) != inventory.end())
    ...

不要忘记包括