我正在编写一个c ++程序来添加,查看,修改和删除“.txt”文件中的记录。
例如,“trains.txt”文件包含字段: - 身份证火车 - 座位数量 - 简短的介绍 例如:(train01,90,非常好的火车) 并且所有操作必须使用struct或class直接在文件中完成。 有人能帮我吗 ? :)
答案 0 :(得分:1)
首先将所有记录读入内存。编辑内存上的值。然后截断旧文件并根据您的内存记录生成一个新文件。插入/删除文本没有神奇的方法。
考虑使用这样的东西:
struct Train
{
string id;
int seats;
string description;
}
vector<Train> trains;
// read all lines to trains
trains[2].seats = 80;
// write trains to a file
答案 1 :(得分:1)
如果你绝对需要实施自己的“数据库”......
您可以通过为每个字段使用固定长度来避免重写整个文件,并在必要时添加空格。即使删除了某些记录,也只能从已删除记录的位置重写文件,保持头部完好无损。或者甚至将它们标记为已删除并稍后一起删除。