如何在 c++ 中从文本文件的正文中获取特定的单词和行

How to get a specific word and line from a body of a text file in c++

本文关键字:获取 单词 正文 文件 c++ 文本      更新时间:2023-10-16

运行此代码块时,当我只想要包含单词的特定行时,将输出整个文件。 例如,查找单词 Paris 并显示所有行而不是特定行。

我已经尝试过获取行,推文,但这不起作用,我觉得这是问题的一部分,但我不确定。

void choice1() {
    string tweet;
    ifstream infile;
    infile.open("sampleTweets.csv");
    if (infile.good()) {
        while (!infile.eof()) {
            getline(infile,tweet);
            if (tweet.find("Paris") != tweet.length()) {
                cout << "Found Paris in the line" << tweet << endl;
            }
        }
    }
}

希望它输出包含该单词的行,而不是文件中的所有行,但目前它只是重复文本 o 每一行,就好像已经找到了单词一样。

标准说find方法返回npos如果没有找到。你可以参考这个。

所以条件线应该是:

            if (tweet.find("Paris") != string::npos) {

正确的用法如下所示:

if (tweet.find("Paris") != std::string::npos) {
}

请参考此处的正确用法。