c++中 如何对文件部分内容进行删除

来源:百度知道 编辑:UC知道 时间:2024/05/26 18:34:16
申请人姓名 enhui
申请日期 19881101
申请理由 reason
申请人姓名 enhui2
申请日期 00990
申请理由 345retgeryryrt
申请人姓名 enhui3
申请日期 truru
申请理由 e4ry45y45
……
下面还很多 内容//data.txt
如何删除前三行 注:是删除 而不是改成空格之类的东西

其实还是可以做到的,用读写方式打开,把文件指针移到第四行并读出第四行,再把文件指针移到第一行写进去,如此往复直到把最好一行写到倒数第四行。再把余下的清空。
这要求文件记录是要固定格式的,比如同是一结构类型。

当然把第三行以下文件写到另一个文件,再覆盖原来文件也是可以实现的,也更简单。如果文件不大的话还可读入内存,再写回去。

只能利用这个文件再写一个文件.在那个文件里不写入前三行.

因为C++对文件访问是没有缓冲的.
也就是说,你没法对打开的文件进行写操作!(这也是操作系统的规定)
(Word之类的软件能修改是因为它们打开的文件是副本!!!隐藏在真实文件的同目录里.)

同意楼上说的

读的时候忽略前三行 把后面再写入文件