如我的标题所述,我如何从文本文件中删除指定行。 我的程序有一个HR用户,他们可以编辑/删除用户信息。 我能写入一个文件,但要从特定的行删除,我无能为力。 希望有人能给我一个如何做到的例子,谢谢!
我的文本文件的一个例子
user;pass;1234;John;1111
user1;pass1;2345;May;2222
user2;pass2;3456;Mary;3333
user3;pass3;4567;Andy;4444
hr;hr;5678;Jonathan;5555
admin;admin;6789;Aili;6666
user10;pass10;7890;eggy;9999
所以当用户输入用户名(即user3)时,我想删除text3文件第4行的user3内容。
答案 0 :(得分:0)
这是一个伪代码,我会让你弄清楚细节:
1. read the entire file into a vector
2. delete that file
3. create and write back the data to the file skipping the line that isn't required.
在循环中使用std::getline()
从文件中读取一行。
答案 1 :(得分:0)
您可以通过在删除行之前不加载文件部分来优化此过程(尽管您仍然需要扫描它以找到“目标”行),但您将无法做到比没有专门数据结构的情况要好得多。
如果这在性能方面非常重要,请考虑使用数据库而不是普通文件。