根据第一个单词显示文件的某些行

时间:2016-06-23 16:01:15

标签: c++

这是一个C ++问题。我在文件中有一些句子。每个句子的第一个单词是用户名。我想要做的是显示具有特定用户名的所有行列。

例如: 如果文件是这样的:

an.der   1 el se¤or de los anillos jrr tolkien 12/9/1999 430 novela     
Jon      2 el arbol de la ciencia pio baroja 12/03/1911 123 novela 
Jon      3 Harry popoter Ander Loizaga 23/06/2016 34 drama     
an.der   2 el arbol de la ciencia pio baroja 12/03/1911 123 novela     
an.der   1 el se¤or de los anillos jrr tolkien 12/9/1999 430 novela

例如如何显示Jon的所有行

我需要你的帮助

1 个答案:

答案 0 :(得分:0)

希望这段代码可以解决您的问题。

#include <iostream>
#include <fstream>
#include <string>

int main()
{
        std::string line;
        std::ifstream infile("infile"); //infile is your sample file.
        std::string name("Jon"); //You can get this from prompt

        while(std::getline(infile, line))
        {
                if(name.compare(0, name.length(),
                        line, 0, name.length()) == 0)
                {
                        std::cout<<line<<std::endl;
                }
        }

        infile.close();
        return 0;
}

输出:

$ ./readline 
Jon 2 el arbol de la ciencia pio baroja 12/03/1911 123 novela
Jon 3 Harry popoter Ander Loizaga 23/06/2016 34 drama