如何在文件中查找字符串并在C ++中打印具有此字符串的行?

时间:2013-06-10 17:42:22

标签: c++

我有一个包含许多行的纯文本文件,我想打印具有特定字符串的行。我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:1)

您可以逐行读取文件:

std::vector<std::string> lines;
std::ifstream myfile("example.txt");

if(myfile.is_open())
{
    while(myfile.good())
    {
        std::string line;
        getline(myfile, line);
        lines.push_back(line);
    }
    myfile.close();
}

然后,您将循环遍历所有行,并搜索您的单词。如果找到,则将该行打印到控制台。

for(unsigned int i = 0; i < lines.size(); ++i)
{
    if(lines[i].find("your_word") != std::string::npos)
        std::cout << lines[i].c_str() << std::endl;
}

来源:

答案 1 :(得分:0)

阅读第一行,搜索单词。如果它在那里,存储它(或打印它),否则跳到下一行。这样做直到文件结束。