fstream删除特定的开始到结束行

时间:2018-06-15 07:40:42

标签: c++ fstream ifstream

我是一个noob程序员,目前使用cpp创建一个小型家庭数据库,但我无法从列表中删除一个家庭......

我的列表看起来像这样

start-of-family 1
jim
joe
bob
sam
end-of-family 1
start-of-family 2
rob
max
end-of-family 2
start-of-family 3
sue
tom
kim
end-of-family 3

如果我想删除系列1,我会找到家庭1的开始和家庭结束1.然后运行一个循环,但如果用户只输入一个int来代表一个家庭号码,我该如何找到它。另外,如何将后续的家庭号码减去1,以便家庭2为1,家庭3为2。

非常感谢

2 个答案:

答案 0 :(得分:2)

如果我在做这个问题,我会先把每个家庭变成一个名字的载体。然后,我将创建一个包含这些家庭载体的载体。

结果看起来像是:

{  
<(jim), (joe), (bob), (sam) >  
<(rob), (max) >  
<(sue), (tom), (kim) >  
}

然后,如果用户想要删除其中一个系列,则可以使用vector.remove(n),其中n是要删除的系列的索引。

这听起来像学校或教科书。你有没有向量?这些名字来自哪里?你难以将它们编入列表吗?或者从.txt文件中读取它们?你现在正在存储什么样的列表结构?

答案 1 :(得分:0)

我意识到清除数据库并使用我所获得的更新它比修改数据库和更新程序更容易