0

我有一个文本文件,其中包含节目的名称和主演的人。

我需要在一个可以输入演员的类中创建一个向量,它将输出电影。

但我不想将整个条目读入向量中以节省内存。

我怎样才能做到这一点,以便我可以阅读包含以下内容的 txt 文件,然后找到演员姓名,例如Min, Jun So它将找到两个实例,然后将两部电影读入向量并输出它?

只是也许这样做的代码布局会很棒。只是为了让我开始。

Min, Elia
    Starlight Inn (2010)  [Skyler]  <4>

Min, Jun So
    "Joseon X-Files - Secret Book" (2010) {Ghosts of Yidu (#1.6)}  [Choi Eui Shin]  <5>

Min, Jung So
    "Mischievous Kiss" (2010)  [Oh Ha Ni]

Min, Xiao
    Little Sister (2010)  [Mei Mei]  <2>
4

1 回答 1

1

试试这个示例代码:

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

int main()
{
    std::ifstream file( "test.txt" ) ;
    std::string search_str = "Elia" ;
    std::string line ;
    int line_number = 0 ;
    std::vector<string> finds;
    finds.resize(100);

    while( std::getline( file, line ) )
    {
        ++line_number ;
        if( line.find(search_str) != std::string::npos )
        {
            std::cout << "line " << line_number << ": " << line << '\n' ;
            finds.push_back(line);
            std::getline( file, line );
            finds.push_back(line);
        }
    }

    for (int i=0;i<finds.size();i++)
    {
        std::cout<<finds[i]<<"\n";
    }

    return 0;
}

输入:Elia

输出:

Min, Elia
    Starlight Inn (2010)  [Skyler]  <4>
Press any key to continue
于 2012-09-08T05:51:50.180 回答