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

时间:2015-05-06 16:55:20

标签: c++ vector find

这是我的矢量开始的:

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

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

while(paid < 2)
{
    cout << "choice: ";
    cin >> equip;
    ++paid;
    inventory.insert(inventory.begin(), equip);
}

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

然后有一个角色会在购买时与其中一个库存商品互动。

if((bazaar == "woman") || (bazaar == "WOMAN"))
{
    cout << "you approach the woman, and she gives you a look.";

    if(...)
    {

    }
}

在第二个if语句中,我希望能够检查清单向量中的字符串,并且发生两个不同的事情,具体取决于该字符串是否在某处的向量中。

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

1 个答案:

答案 0 :(得分:0)

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

不要忘记包含<algorithm>