如何检查字符串c ++中的关键字

时间:2018-02-18 02:33:55

标签: c++ string char keyword-search

我试图找出如何检查字符串中的某些关键字。情况就是这样。我从文件中获取一行,然后将其保存为临时字符串。我有一系列字符串,其中包含我正在寻找的关键字类型。例如,两个关键字是开始和结束,除了检查每个字符的一堆if语句之外,还有其他任何方法吗? 我的问题是我为每个关键字获得的if和else的数量,所以我想要一种更有效的方法 C ++

1 个答案:

答案 0 :(得分:1)

#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
using namespace std;

int main()
{
    std::string input{"apple double banana int float chimpanzee"};
    std::vector<std::string> keywords{"double", "int", "float", "switch"};

    for(const auto& keyword : keywords)
    {
        auto pos = input.find(keyword);

        std::cout << keyword
            << " [" << (pos == std::string::npos ? " not found" : " found") << "]\n";   
    }
    return 0;
}