2
Number of Copies
Movie Title
Movie Actor
Movie Actor
Movie Director
Movie Producer
Movie Production Co.
Number of Copies
Movie Title
Movie Actor
Movie Actor
Movie Director
Movie Producer
Movie Production Co.

Customer1 ID
Customer2 ID 
Customer3 ID 
Customer4 ID

我有一个关于 C++ 的文件 I/O 问题。如果我有一个看起来像这样的输入文件,我可以使用哪些命令来停止将 getlines() 从顶部插入变量,以便开始将 getlines() 从底部插入变量?在伪代码中我可以想象它会像

while (the next line isn't "\n"), keep adding to the movie database.

然后

while (!fin.eof()), start adding to the customer database

但我不知道如何写第一个while条件。我的书只教我们如何使用 get 和 getline 进行文件 I/O ......显然是这样的

while (fin.get() != "\n")

由于操作数类型而不起作用。抱歉,如果我的问题措辞不当,这就是我想到的解决方法。谢谢。

4

1 回答 1

0

您可以使用std::getline(std::istream&, std::string&)获取一行并将其保存在std::string. std::string提供了一种empty检查字符串是否为空的方法。

std::getline不会提取分隔符,因此您应该很容易检查一行是否为空。

(提取提示:为了从您的行中提取子字符串,您可以使用std::istringstream.)

于 2012-07-02T21:24:07.057 回答