难以从C ++中的文件中读取数据

时间:2017-02-02 01:21:09

标签: c++

我在上学这个项目时遇到了一些麻烦,可以使用一些帮助入门。我给了一个包含电影标题的文件,它们制作的年份,以及它们的类型,然后我应该创建一个包含信息的链表。文件中的每一行都如下所示:

1::Toy Story (1995)::Animation|Children's|Comedy

如果用户决定按电影标题搜索并输入Toy Story,则应显示电影的名称和年份:Toy Story (1995)如果用户决定按流派搜索,则应显示每个包含该流派的电影。最后,如果用户想要删除电影,他们会输入电影标题,并且应该从链接列表中删除它以及其他信息。

所以我到目前为止遇到的问题是读取数据。当我读入数据时,我能够删除::|并将所有内容存储在向量中,但现在向量的每个元素都是一个单词,这意味着如果我打印出来{{1} 1}}例如,它将是vect[1](因为Toy将是vect[0],因为我不知道如何删除前导数字,这是另一个问题。)

那么我将如何将电影的标题保持在一起,以便将其添加到链接列表中,反之亦然?另外,我是否需要创建三个链接列表,一个是电影标题,一个是年份,另一个是流派?

我没有太多代码,因为我的问题在一开始就是正确的,但这是我到目前为止所做的。它遍历文件并删除1::并将其存储到向量中。我不知道我应该如何从这里开始,或者即使这是开始解决这类问题的正确方法。

|

我不是一个经常寻求帮助的人,但我完全陷入困境,不知道如何继续。任何帮助,将不胜感激!如果我需要澄清一切,请告诉我。

1 个答案:

答案 0 :(得分:0)

不要将其视为字符串。编写一个包含信息的数据结构。

struct movie {
   std::string title;
   std::string year;
   std::vector<std::string> genres;
};

然后,在解析每一行时,填写此结构的实例。解析完行后,将结构推送到列表中。这将使您以后可以进行搜索。您还可以将流操作符添加到结构中,以便以干净的格式将其打印到屏幕上。