这是一个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的所有行
我需要你的帮助
答案 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